IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

MD5 d'un fichier


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Par défaut MD5 d'un fichier
    Bonjour, je cherche à récupérer le md5 d'un fichier en vb.net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ' # Recupere le MD5 d'un fichier
        Public Function GetMD5(ByVal chemin As String) As String
            Dim File() As Byte = System.IO.File.ReadAllBytes(chemin)
            Dim Md5 As New MD5CryptoServiceProvider()
            Dim byteHash() As Byte = Md5.ComputeHash(File)
            Return Convert.ToBase64String(byteHash)
        End Function
    Ce code est fonctionnel mais le problème c'est qu'il li entièrement le fichier dans la ram (j'imagine pas si le fichier fait 10Go).

    Je cherche donc le moyen de récupérer le hachage md5 rapidement d'un fichier sans bouffer la mémoire comme pour les fonction PHP, Python...

    Si vous avez une solution merci d'avance.

  2. #2
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Bonjour,

    Utile la surcharge de ComputeHash qui attend un Stream (ça résoudra au moins le souci de mémoire).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function ComputeMD5(ByVal path As String) As String
        Using stream = File.OpenRead(path), md5 = MD5CryptoServiceProvider.Create()
            Return Convert.ToBase64String(md5.ComputeHash(stream))
        End Using
    End Function
    Cordialement !

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 117
    Par défaut
    Merci, c'est déjà pas mal et au plus j'aurais appris la balise Using très pratique.

Discussions similaires

  1. obtenir l'empreinte MD5 d'un fichier
    Par HRS dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2011, 10h50
  2. [WD15] Hash MD5 d'un fichier sur FTP
    Par VincentRoy dans le forum WinDev
    Réponses: 9
    Dernier message: 04/05/2011, 14h43
  3. Caculer le checksum MD5 d'un fichier
    Par overjey dans le forum Langage
    Réponses: 9
    Dernier message: 02/07/2008, 13h06
  4. Checksum MD5 d'un fichier
    Par overjey dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2008, 09h26
  5. Calculer le MD5 d'un fichier octet par octet
    Par bouazza92 dans le forum C
    Réponses: 5
    Dernier message: 09/08/2006, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo