Bonjour,
J'ai beaucoup cherché sur Internet mais je n'ai pas trouvé comment je peux obtenir la somme MD5 d'un fichier précédemment choisi avec un OpenFileDialog
Pourriez vous m'indiquer comment faire ?
Merci
Bonjour,
J'ai beaucoup cherché sur Internet mais je n'ai pas trouvé comment je peux obtenir la somme MD5 d'un fichier précédemment choisi avec un OpenFileDialog
Pourriez vous m'indiquer comment faire ?
Merci
Bonjour,
Ça devrait t'aider un peu,
J'ai vu ça sur un site (pas testé):
Cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Imports System.Text Imports System.Security.Cryptography Private Function GenerateHash(ByVal SourceText As String) As String 'Create an encoding object to ensure the encoding standard for the source text Dim Ue As New UnicodeEncoding() 'Retrieve a byte array based on the source text Dim ByteSourceText() As Byte = Ue.GetBytes(SourceTStext) 'Instantiate an MD5 Provider object Dim Md5 As New MD5CryptoServiceProvider() 'Compute the hash value from the source Dim ByteHash() As Byte = Md5.ComputeHash(ByteSourceText) 'And convert it to String format for return Return Convert.ToBase64String(ByteHash) End Function
N'utilise pas la méthode ci-dessus, elle ne donne pas le MD5 du fichier, mais le MD5 d'un texte encodé en UTF-16 (et un fichier est rarement encodé en UTF-16...). Il faut travailler directement au niveau binaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Imports System.IO Imports System.Security.Cryptography ... Public Shared Function GetMD5Hash(ByVal fileName As String) As String Using fs As FileStream = File.OpenRead(fileName) Dim md5Algorithm As MD5 = MD5.Create() Dim hashBytes As Byte() = md5Algorithm.ComputeHash(fs) Dim hash As String = BitConverter.ToString(hashBytes).Replace("-", "").ToLower() Return hash End Using End Function
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Merci c'est exactement ce que je voulais, je vais pouvoir ajouter la touche finale à mon programme !
Partager