View Full Version : حرفه ای: بررسی صحت یک فایل با MD5
ali reza mansoori 2
سه شنبه 24 اردیبهشت 1392, 17:58 عصر
سلام دوستان
میخوام یک فایل رو به روش MD5 بررسی کنم
کسی نمونه کد برای این کار داره
h_a_m_i_d
سه شنبه 24 اردیبهشت 1392, 19:14 عصر
http://stackoverflow.com/questions/12613645/vb-net-generating-an-md5-hash-from-a-string-for-passwords-to-save-in-sql
alimanam
چهارشنبه 25 اردیبهشت 1392, 12:20 عصر
با سلام
لینک داده شده در پست شماره 2 ممکنه مقدار هش یک رشته رو به شما بده در صورتی که از عنوان تاپیک مشخصه که منظور صحت و اعتبار سنجی 2تا فایل هست که آیا یکی هستن یا نه . برای این منظور کدی که در زیر مثال زدم رو میتونین استفاده کنین .
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
Public Class Form1
Private Function MD5_FileHashCode(ByVal fPath As String) As String
Try
Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider
Dim f As FileStream = New FileStream(fPath, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
md5.ComputeHash(f)
Dim hash As Byte() = md5.Hash
Dim buff As New StringBuilder
Dim hashByte As Byte
For Each hashByte In hash
buff.Append(String.Format("{0:X2}", hashByte))
Next
Return buff.ToString()
Catch ex As Exception
Throw New Exception(ex.Message)
Return Nothing
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ofd1, ofd2 As New OpenFileDialog
If ofd1.ShowDialog = Windows.Forms.DialogResult.OK Then
If ofd2.ShowDialog = Windows.Forms.DialogResult.OK Then
If MD5_FileHashCode(ofd1.FileName) = MD5_FileHashCode(ofd2.FileName) Then
MsgBox("فایل ها یکسان هستند")
Else
MsgBox("فایل ها غیر یکسان هستند")
End If
End If
End If
End Sub
End Class
موفق باشید./
فرید نجفلو
چهارشنبه 25 اردیبهشت 1392, 14:09 عصر
سلام
می تونید از این روش استفاده کنید:
Private Sub CompareFile()
If GetFileMD5("File1_Path") = GetFileMD5("File2_Path") Then
MsgBox("فایل ها یکسان هستند")
Else
MsgBox("فایل ها یکسان نیستند")
End If
End Sub
Private Function GetFileMD5(FilePath As String) As String
Try
Using Strm As New IO.FileStream(FilePath, IO.FileMode.Open)
Using MD5 = Security.Cryptography.MD5.Create()
Return BitConverter.ToString(MD5.ComputeHash(Strm))
End Using
End Using
Catch
Return ""
End Try
End Function
نکته:وقتی دارید با فایل ها کار می کنید هیچ وقت Using ها رو فراموش نکنید!
تابع بالا یعنی GetFileMD5 کاربرد های دیگه هم می تونه داشته باشه مثلا برای فایل هایی که آدرسشون تو دیتابیس ذخیره میشه و خودشون تو خارج از دیتابیس ، یا رد و بدل کردن فایل تو شبکه جهت اطمینان از ارسال صحیح فایل و ...
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.