[.Net] Calculer le MD5 d’un fichier ou d’une chaine de caractères

dotnet md5

Vu que çà fait un moment que j’ai pas publié je vous mets quelques petites fonctions bien pratique pour calculer le checksum MD5 d’un fichier ou bien d’une chaine de caractères.

Vous noterez également la fonction ByteArrayToHexString qui permet de convertir un tableau de bytes au format hexadécimal.

'Fonction qui calcule le MD5 d'une chaine de caractères
Public Function MD5String(ByVal strData As String) As String
'on cree un object MD5
Dim objMD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
'on convertit la chaine de caracteres en tableau de bytes
Dim arrData() As Byte = System.Text.Encoding.UTF8.GetBytes(strData)
'on hash le tableau de bytes
Dim arrHash() As Byte = objMD5.ComputeHash(arrData)
'on libère l'objet MD5
objMD5 = Nothing
' return formatted hash
Return ByteArrayToHexString(arrHash)
End Function
'Fonction qui calcule le MD5 d'un fichier
Private Function Md5File(ByVal filePath As String) As String
'on cree un object MD5
Dim objMD5 As New System.Security.Cryptography.MD5CryptoServiceProvider
'on stocke le fichier dans un tableau de bytes
Dim arrData() As Byte = System.IO.File.ReadAllBytes(filePath)
'on hash le tableau de bytes
Dim arrHash() As Byte = objMD5.ComputeHash(arrData)
'on libère l'objet MD5
objMD5 = Nothing
' return formatted hash
Return ByteArrayToHexString(arrHash)
End Function
'Fonction qui convertit un tableau de bytes en string hexadecimal
Private Function ByteArrayToHexString(ByVal arrInput() As Byte) As String
Dim strOutput As New System.Text.StringBuilder(arrInput.Length)
For i As Integer = 0 To arrInput.Length - 1
strOutput.Append(arrInput(i).ToString("X2"))
Next
Return strOutput.ToString().ToLower
End Function

Pour rappel, j’avais déjà fait un petit tutoriel pour calculer le MD5 sous linux.

Leave a Reply

Your email address will not be published. Required fields are marked *