Calcul de hash md5 (win32)

Soyez le premier à donner votre avis sur cette source.

Vue 13 436 fois - Téléchargée 993 fois

Description

J'ai déjà vu quelques programmes pour çà ici, mais aucun qui utilise vraiment l'API Win32. Celui-ci utilise donc les fichiers mappés en mémoire pour la lecture des fichiers et la cryptoapi pour calculer le hash. Il génère une sortie similaire au md5sum des systèmes BSD. Vitesse approximative : une seconde pour hasher une ISO de 21Mo sur mon système (Athlon 600, 512Mo de mémoire vive, DD 7200rpm).

Théoriquement, il peut être utilisé sur des fichiers d'une taille supérieure à 4Go... Je ne dispose pas de fichiers aussi gros, donc je n'ai pas testé. Si quelqu'un a une image ISO de Debian ou autre sous la main, ce serait sympa de donner le résultat du hash ;-)

Source / Exemple :


goto zip;

Conclusion :


Testé avec succès sur les fichiers suivants :
- i386cd.iso i386pkg.iso (NetBSD 2.0)
- install-x86-minimal-2004.3.iso install-x86-universal-2004.3.iso packages-x86-2004.3.iso (Gentoo 2004.3)
- slackware-10.0-install-d1.iso slackware-10.0-install-d2.iso (Slackware 10)
- 5.3-RELEASE-i386-bootonly.iso 5.3-RELEASE-i386-disc1.iso 5.3-RELEASE-i386-disc2.iso 5.3-RELEASE-i386-miniinst.iso (FreeBSD 5.3)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_tyfeur
Messages postés
13
Date d'inscription
lundi 10 mai 2004
Statut
Membre
Dernière intervention
16 février 2006
-
oui mais bon ...
il n'y a pas vraiment de code dans ta source ... :(
Tu appelles juste une fonction d'une lib ....
cs_Nebula
Messages postés
790
Date d'inscription
samedi 8 juin 2002
Statut
Membre
Dernière intervention
7 juin 2007
1 -
Cela sert en quelque sorte à prendre "l'empreinte" du fichier. On peut ainsi vérifier l'intégrité d'une ISO en comparant son hash à celui indiqué sur le site où on l'a récupérée, la probabilité que deux fichiers génèrent la même empreinte est très faible, et un seul octet modifié donnera une empreinte totalement différente de l'originale (et on saura ici que l'ISO est corrompue).

Le même principe peut s'appliquer à n'importe quel fichier, bien que les ISOs et les archives de sources soient les plus répandus. On peut aussi s'assurer qu'un fichier exe ou dll n'a pas été modifié depuis la dernière fois qu'on l'a utilisé (ce principe est parfois utilisé par les antivirus et même certains firewalls : hasher un fichier est souvent plus rapide que de le scanner à la recherche de signatures de virus)

J'utilisais jusqu'à présent un port sous windows du md5sum de GNU, mais il faisait atrocement crier le disque et accaparait toutes mes ressources... Avec les fichiers mappés, ce désagrément disparait et le hash se fait en douceur et en arrière-plan.
cs_Matt67
Messages postés
549
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010
-
Bonsoir,

Juste deux petites question :
A quoi sert de "hasher" un fichier ?
Est ce que ca marche que pour les fichiers iso ?

Merci pour la réponse,

Matt...

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.