Checksum sha1 ou md5 d'un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 042 fois - Téléchargée 20 fois

Contenu du snippet

Ces 2 fonctions servent simplement à obtenir la somme de controle SHA1 ou MD5 d'un fichier sans aucune API, exe externe ou autre

Cette source est une traduction VB.net de la source de CrazyHT (http://www.csharpfr.com/codes/SOMME-MD5-FICHIER_11517.aspx)

Source / Exemple :


Public Function GetFileMD5CheckSum(ByVal fichier As String) As String
        If IO.File.Exists(fichier) Then
            Dim st As System.IO.FileStream = Nothing
            Try
                Dim check As New System.Security.Cryptography.MD5CryptoServiceProvider
                st = System.IO.File.Open(fichier, System.IO.FileMode.Open, System.IO.FileAccess.Read)
                Dim somme As Byte() = check.ComputeHash(st)
                Dim ret As String = ""
                For Each a As Byte In somme
                    If (a < 16) Then
                        ret += "0" + a.ToString("X")
                    Else
                        ret += a.ToString("X")
                    End If
                Next
                Return ret
            Catch ex As Exception
                Exit Try
            Finally
                If st IsNot Nothing Then st.Close()
            End Try
        Else
            Return ""
        End If
        Return ""
    End Function

    Public Function GetFileSHA1CheckSum(ByVal fichier As String) As String
        If IO.File.Exists(fichier) Then
            Dim st As System.IO.FileStream = Nothing
            Try
                Dim check As New System.Security.Cryptography.SHA1CryptoServiceProvider
                st = System.IO.File.Open(fichier, System.IO.FileMode.Open, System.IO.FileAccess.Read)
                Dim somme As Byte() = check.ComputeHash(st)
                Dim ret As String = ""
                For Each a As Byte In somme
                    If (a < 16) Then
                        ret += "0" + a.ToString("X")
                    Else
                        ret += a.ToString("X")
                    End If
                Next
                Return ret
            Catch ex As Exception
                Exit Try
            Finally
                If st IsNot Nothing Then st.Close()
            End Try
        Else
            Return ""
        End If
        Return ""
    End Function

A voir également

Ajouter un commentaire

Commentaires

Messages postés
209
Date d'inscription
samedi 11 novembre 2000
Statut
Membre
Dernière intervention
6 novembre 2009

Utilise plutôt "&" à la place de "+" pour les strings ;)
"abc"+123 peut porter à confusion ;) (String + Integer)

Sinon, super :)
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
merci :P
Messages postés
168
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
6 mai 2009
1
Je me demande comment ta fais mais t'es for en tout cas !
Messages postés
168
Date d'inscription
vendredi 14 septembre 2007
Statut
Membre
Dernière intervention
6 mai 2009
1
Cool
Messages postés
551
Date d'inscription
samedi 8 janvier 2005
Statut
Membre
Dernière intervention
12 avril 2008
1
Si ton code est plus simple, mais pour ma part j'avais juste traduit une source C#, j'ai pas cherché à l'amélioré (j'étais pressé par le temps)

Merci de l'avoir mis en commentaire ^^ : avis aux amateurs :P

et Merci pour la note @+
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.