Vérifier l'empreinte d'un fichier

Rédigé par Alexandre le 2016-11-10

#çapeutresservir #loisir

La somme de contrôle est l'empreinte d'un fichier qui est générée via un algorithme (fonction) de hachage. Vérifier la somme de contrôle revient à comparer les empreintes de deux fichiers.

La comparaison d'empreintes est très utilisée sur Internet car elle permet à l'utilisateur de s'assurer que le fichier mis à disposition et celui qu'il a récupéré sont identiques.

Illustration de calcul d'empreinte Image provenant de wikipedia.org

Plus l'algorithme utilisé pour générer l'empreinte est complexe, plus l'empreinte générée est représentative du fichier dont on prend l'empreinte. En contrepartie, un algorithme complexe met plus de temps à calculer l'empreinte. La plupart du temps, le MD5 suffit pour la vérification de fichier, mais le SHA1 et SHA256 commencent également à être utilisés.

Dans ce qui suit, j'utilise le MD5, mais il suffit de le remplacer par l'algorithme souhaité pour que cela fonctionne.

Sous Debian

Lorsque le site fournit un fichier contenant la somme de contrôle, il est nécessaire de stocker ce fichier dans le même répertoire que le fichier téléchargé, puis de vérifier via la commande suivante :

md5sum -c FICHIER_TELECHARGER.EXT.md5

Si le site ne fournit pas de fichier contenant la somme de contrôle, une comparaison "à la main" est nécessaire :

echo SOMME_DU_SITE FICHIER_TELECHARGER.EXT | md5sum -c -

Sous Windows

Sous Windows, l'utilisation d'un outil tiers comme WinMD5Sum facilite grandement les choses, mais je donne ici la méthode utilisable sans installation supplémentaire :

certutil -hashfile FICHIER_TELECHARGER.EXT MD5

Le résultat ressemble à ceci :

Hachage MD5 du fichier FICHIER_TELECHARGER.EXT :
2e 0a b2 3b ec 79 ff 33 07 1d 80 ea 26 f1 24 dc
CertUtil: -hashfile La commande s'est terminée correctement.

Il faut maintenant vérifier à la main que la somme de contrôle (sans les espaces) est identique à celle fournie par le site.

Références