16/12/2024

Commandes et Système

Calculer une empreinte MD5 sous Linux pour vérifier l’intégrité d’un fichier

I. Présentation

Dans ce tutoriel, nous allons apprendre à utiliser la commande md5sum pour calculer l'empreinte d'un fichier ou plutôt d'un message pour reprendre le terme adapté à ce contexte. Pour information, une empreinte sert à calculer et vérifier l'intégrité d'un fichier ou d'une donnée. Si l'on prend un même fichier, dans deux versions, mais avec un seul bit de différence, son empreinte sera totalement différente !

Si un fichier n'a plus la même empreinte après avoir été transféré d'une machine A vers une machine B, ceci remet en cause son intégrité. Que s'est-il passé ? Le fichier a pu être altéré de façon volontaire ou accidentelle. Par exemple, le fichier a pu être corrompu à cause d'une perte de paquets liée au réseau local. À l'inverse, si l'empreinte est toujours la même, c'est que le fichier est strictement identique au fichier d'origine : son intégrité a été préservée.

Par exemple, lorsque l'on télécharge un fichier sur Internet, il est fréquent de voir l'empreinte du fichier, soit en MD5, en SHA1 ou en SHA256. Cette valeur de référence vous permet de vérifier l'intégrité du fichier suite à son téléchargement. Aujourd'hui, MD5 reste encore utilisable pour vérifier l'intégrité d'un fichier après son téléchargement. Toutefois, pour d'autres usages liés à la sécurité, le MD5 est obsolète et doit être abandonné au profit de méthode plus sûre comme le SHA256.

Version originale de l'article : 01/04/2013

II. Utilisation de la commande md5sum

Intégré nativement à Linux, la commande md5sum va permettre de calculer l'empreinte d'un fichier via la fonction MD5.

Si nous voulons par exemple calculer l'empreinte du fichier "linux.txt", nous utiliserons la commande de cette façon :

md5sum linux.txt

Nous aurons alors en résultat l'empreinte de ce fichier :

Linux - Somme MD5 d'un fichier

La valeur retournée correspond à l'empreinte MD5 du fichier, que l'on appelle aussi "somme de contrôle" ou encore "checksum" en anglais.

Si l'on effectue la moindre modification dans ce fichier, par exemple en ajoutant un caractère, la somme de contrôle ne sera plus la même :

Linux md5sum

On peut aussi stocker cette empreinte dans un fichier pour que les utilisateurs puissent la comparer à nouveau :

md5sum linux.txt > linux.checksum

On peut également faire un checksum de plusieurs fichiers pour pouvoir les comparer facilement :

md5sum linux.txt linux2.txt

Linux - Empreinte MD5 de plusieurs fichiers

Ici, il s'agit d'un copier-coller du fichier d'origine sous un autre nom : son contenu n'est pas altéré, donc l'empreinte reste la même ! Ceci est important : l'empreinte est basée sur le contenu du fichier, pas sur son nom.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.