[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

Checking if file is tampered after encryption

Posted on 2007-12-04
4
Medium Priority
?
325 Views
Last Modified: 2013-11-26
Hi,

I am using VB.NEt for a desktop app. Now I have a feature that will export the data into a text file which will be later encrypted. This encrypted file will be copied by the user on a drive and transferred to another PC. Here we will decrypt the file and import the data.

Now my question is: what if the encrypted file is opened by the user and changes made? Due to this, the import routine will get some junk data. Hence I want that after the file is encrypted, we want to take the CRC check and then before importing we again check the CRC to ensure that file is not tampered. How do we accomplish this in VB.NET? Alternately is there any other better way to ensure that file is tampered?

Regards,
mi
0
Comment
Question by:vj_mi
  • 3
4 Comments
 
LVL 9

Expert Comment

by:sognoct
ID: 20410509
md5 of a file is unique. So generating the md5 of the content will create an unique value (of fixed characters number)   that can be used as a crc.
Put that crc at the end of the file, or in the filename ad do the check on the other pc
0
 

Author Comment

by:vj_mi
ID: 20411716
But my file may be huge... say my employee table has 70,000 records. Now I write this data to the file. Now I want to generate crc for this complete file and not for the string. How do I write that md5 code. Second question is: if I add crc to the end of the file, how do I read it again?

Regards,
mi
0
 
LVL 9

Expert Comment

by:sognoct
ID: 20418627
ok ... so, md5 is unique also for 70.000 records.
You can put it on a new row at the end of the file, so just need to read it
fort the code of md5, are you using VB, c#, c++ ?
0
 
LVL 9

Accepted Solution

by:
sognoct earned 2000 total points
ID: 20418684
the code for vb .net is :
Imports System
Imports System.Security.Cryptography
Imports System.Text
Imports System.Math
 
Public Class clsmd5
  Public Shared Function calculateMd5CRC(ByVal pfilename As String) As String
    Dim md5Hasher As MD5 = MD5.Create()
    Dim fs As System.IO.FileStream = System.IO.File.OpenRead(pfilename)
    Dim data As Byte() = md5Hasher.ComputeHash(fs)
    Return Convert.ToBase64String(data)
  End Function
End Class

Open in new window

0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Planning to migrate your EDB file(s) to a new or an existing Outlook PST file? This video will guide you how to convert EDB file(s) to PST. Besides this, it also describes, how one can easily search any item(s) from multiple folders or mailboxes…
How to fix display issue, screen flickering issue when I plug in power cord to the machine. Before I start explaining the solution lets check out once the issue how it looks like after I connect the power cord. most of you also have faced this…
Suggested Courses
Course of the Month7 days, 19 hours left to enroll

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question