MD5, SHA-1 ou SHA-256 : quel hash utiliser pour vos téléchargements
Pour vérifier un téléchargement, utilisez SHA-256 ou SHA-512 dès que l'éditeur en propose un. MD5 et SHA-1 détectent encore les dommages accidentels, comme un téléchargement interrompu, mais des chercheurs ont démontré qu'il est possible de fabriquer deux fichiers différents qui partagent le même hash MD5 ou SHA-1. Une correspondance avec ces algorithmes ne peut donc pas prouver qu'un fichier est bien celui que l'éditeur a produit. Un hash est une empreinte, pas un chiffrement, et il n'a de valeur que s'il provient d'une source de confiance.
Générateur de hashMon téléchargement est-il intact ?Essayer gratuitementCe que fait un hash, et ce qu'il ne fait pas
Une fonction de hachage transforme des données de taille quelconque en une empreinte de longueur fixe. La même entrée donne toujours la même empreinte, et la moindre modification d'un seul octet produit une empreinte totalement différente. C'est ce qui rend le hash utile pour comparer : si l'empreinte de votre copie correspond à celle publiée, les deux fichiers sont presque certainement identiques.
Un hash n'est pas un chiffrement. Il ne peut pas être inversé pour reconstituer le fichier, et il n'utilise aucune clé. Il ne cache rien, et à lui seul il ne prouve rien sur l'auteur du fichier. Une somme de contrôle est simplement un hash qu'un éditeur affiche à côté d'un téléchargement pour que vous puissiez comparer.
Les quatre options courantes
| Algorithme | Longueur de sortie | À utiliser pour |
|---|---|---|
| MD5 | 128 bits, 32 caractères hexadécimaux | Détecter uniquement les dommages accidentels |
| SHA-1 | 160 bits, 40 caractères hexadécimaux | Vérifications héritées ; à éviter pour la sécurité |
| SHA-256 | 256 bits, 64 caractères hexadécimaux | Le choix habituel pour les téléchargements |
| SHA-512 | 512 bits, 128 caractères hexadécimaux | La même famille, avec une sortie plus longue |
Pourquoi MD5 et SHA-1 ne suffisent pas
Une collision désigne deux entrées différentes qui ont le même hash. Les collisions de MD5 sont connues depuis 2004. En 2017, des chercheurs ont publié une collision SHA-1 réalisable en pratique : deux fichiers PDF différents partageant un même hash.
Pour un téléchargement, c'est important : un attaquant qui contrôle un fichier peut produire une version malveillante portant le même hash MD5 ou SHA-1 que la version authentique. Si un éditeur ne publie que du MD5 ou du SHA-1, une correspondance ne prouve plus que le fichier est authentique. La FAQ du générateur de hash le rappelle : utilisez SHA-256 ou SHA-512 pour tout ce qui touche à la sécurité.
Aucune collision SHA-256 exploitable en pratique n'est connue à l'heure où nous écrivons, ce qui en fait le choix habituel. Le guide de vérification d'une somme SHA-256 détaille les étapes.
Choisir le bon algorithme
- Si l'éditeur propose SHA-256 ou SHA-512, utilisez-le, et mettez MD5 et SHA-1 de côté pour la sécurité.
- Si seul MD5 ou SHA-1 est proposé, vérifiez-le quand même avec le générateur de hash. Il détecte toujours un téléchargement corrompu ou incomplet. Considérez une correspondance comme « non endommagé », et non comme « authentique ».
- Si aucun hash n'est proposé, vous ne pouvez pas vérifier l'intégrité de cette façon. Téléchargez depuis la page officielle en HTTPS et, si le projet publie des fichiers de somme signés, vérifiez la signature.
Le générateur de hash calcule MD5, SHA-1, SHA-256, SHA-384 et SHA-512 en une seule fois, pour un texte ou pour un fichier. Le fichier est lu dans votre navigateur, et rien n'est envoyé en ligne. Collez le hash de l'éditeur dans le champ Hash attendu. L'outil supprime les espaces et ignore les majuscules avant de comparer, si bien qu'un hash écrit en majuscules ou en groupes correspond quand même. Les très gros fichiers peuvent saturer la mémoire du navigateur : dans ce cas, utilisez un outil en ligne de commande comme sha256sum sous Linux, ou shasum -a 256 sur un Mac.
Ce que dit une correspondance
Un hash identique signifie que votre copie est presque certainement identique au fichier qui a été haché. Cela ne dit pas qui a effectué le calcul, ni que le fichier haché était bien celui que l'éditeur voulait distribuer. Pour cela, la source compte davantage que l'algorithme. Si le hash provient de la page de publication de l'éditeur, et que vous y êtes arrivé directement et non via un lien reçu dans un message, la correspondance est une preuve solide. Si le hash vient d'un commentaire, d'un miroir ou d'un forum, considérez-le comme non vérifié tant que vous ne l'avez pas retrouvé sur une page de confiance.
Une somme de contrôle a besoin d'une source de confiance
Une somme de contrôle placée sur le même serveur que le fichier prouve seulement que la copie correspond à ce que ce serveur contient. Si un attaquant remplace le fichier, il peut aussi remplacer la somme à côté. Une somme est utile lorsqu'elle provient d'un endroit séparé, comme les notes de version signées du projet, ou d'une page que vous avez atteinte indépendamment du lien de téléchargement.
Les hashes pour les mots de passe sont différents
Le stockage des mots de passe utilise aussi le hachage, mais il exige un hash lent conçu pour les mots de passe, avec un sel unique pour chacun. Un hash rapide comme SHA-256 n'est pas le bon outil dans ce cas. Pour les téléchargements, il s'agit de comparer, et SHA-256 le fait très bien.
Cas particuliers
- Casse. Les lettres hexadécimales de A à F sont identiques en majuscules ou en minuscules : comparez sans tenir compte de la casse.
- Hashes tronqués. Certains sites n'affichent que le début d'un hash. Une correspondance partielle prouve peu de choses : comparez la valeur entière.
- Plusieurs fichiers. Certains projets publient un seul fichier de sommes pour une version entière. Repérez la ligne portant le nom exact du fichier, car une correspondance sur la ligne d'un autre fichier ne prouve rien.
Traduit de Version originale anglaise avec l’aide de l’IA.
Commentaires
Aucun commentaire pour l’instant. Soyez le premier.


