Lorsqu'on télécharge une image de Debian avant de l'installer, il est péférable de vérifier l'intégrité du fichier en question, surtout si l'image est de grande taille, c'est à dire un CD ou un DVD.

Si on jete un oeil par exemple à la page de téléchargement suivante de Debian: http://cdimage.debian.org/cdimage/weekly-builds/amd64/iso-cd/, on voit les fichiers suivants:

  • MD5SUMS
  • SHA1SUMS
  • SHA256SUMS

Ces fichiers contiennent les sommes de contrôle (ou checksums en Anglais) des fichiers présents dans le répertoire en question.

Par le passé les hashs MD5 étaient beaucoup utilisés avant qu'il soit prouvé qu'on puisse assez facilement créer deux fichiers ayant la même empreinte MD5.

Aussi depuis c'est la famille des SHA qui est utilisée.

Donc imaginons que l'on vient de télécharger l'image netinst de Debian, on peut calculer son hash SHA-256 comme suit:

shasum -a 256 debian-testing-amd64-netinst.iso

Ce qui donne comme résultat:

5079ee43bb65d06e5c19cc87c68bdb3e8a02d71484c8a2d7327bf857db419960  debian-testing-amd64-netinst.iso

Il ne nous reste plus qu'à comparer avec la valeur du hash présente dans le fichier SHA256SUMS.

Mais on peut aussi procéder comme suit:

shasum -a 256 -c SHA256SUMS

Auquel cas sha256sum va vérifier chaque fichier spécifié dans SHA256SUMS qu'il pourra trouver dans le répertoire courant. On obtient alors:

debian-testing-amd64-netinst.iso: OK
shasum: debian-testing-amd64-kde-CD-1.iso: 
debian-testing-amd64-kde-CD-1.iso: FAILED open or read
shasum: debian-testing-amd64-xfce-CD-1.iso: No such file or directory
debian-testing-amd64-xfce-CD-1.iso: FAILED open or read
shasum: debian-testing-amd64-lxde-CD-1.iso: No such file or directory
debian-testing-amd64-lxde-CD-1.iso: FAILED open or read
shasum: debian-testing-amd64-gnome-CD-1.iso: No such file or directory
debian-testing-amd64-gnome-CD-1.iso: FAILED open or read

En effet, le fichier des sommes de contrôle a l'aspect suivant: l'empreinte SHA, puis deux espaces puis le nom du fichier:

cat SHA256SUMS
5079ee43bb65d06e5c19cc87c68bdb3e8a02d71484c8a2d7327bf857db419960  debian-testing-amd64-netinst.iso
e92548f2f3da1e165689a1a14f79b85b2192a96912c4340dc92b7a2bab2a0142  debian-testing-amd64-kde-CD-1.iso
3de558a1665c499c3e7cd1133d66a6ccd9190fa94fd7217abfc99c1f491676f6  debian-testing-amd64-xfce-CD-1.iso
d8db86e4d29727cf2eb3eb0d37eb3dda8f0c753c40b93c505763b2f082688412  debian-testing-amd64-lxde-CD-1.iso
0c2e12f91ad9924e770ce7dc856ea0d94d552a6d9d4b659bb685d50abdc4a77f  debian-testing-amd64-gnome-CD-1.iso
4fe5d36341526c2a48bd1e9efa1b9a3b66cdccf53cfa4512ae2d595ce227f33c  debian-testing-amd64-CD-1.iso
e616fe6b0b710f5e62b3a6fd79695121b0352a3210ea8e0fa8d8041e53f4c795  debian-testing-amd64-CD-10.iso
7b3ede27492395a0b0a0eded71de7ee8f67bffb29300995159c0e37bfb6ca207  debian-testing-amd64-CD-11.iso
5c65cff668b312f00aee1fc93131bb7fbef8137caebdc32d99e4622ff1ccfa21  debian-testing-amd64-CD-12.iso
025221b8073f36d0f77695c73fc6954a1a8f68dd87d0c8194cd9367c5f0ecd35  debian-testing-amd64-CD-13.iso

...

Enfin précisions qu'shasum est un script Perl permettant de calculer des empreintes SHA en spécifiant l'algorithme. On aurait pû aussi utiliser directement les commandes sha256sum ou sha1sum.