03 / GUIDES
Vérifier les téléchargements et l'intégrité des fichiers avec des sommes de contrôle
Ce qu'un hachage cryptographique prouve réellement, pourquoi MD5 et SHA-1 ne servent plus qu'à l'intégrité, une vérification d'installateur pas à pas, et comment hacher du texte sensible sans le téléverser.
L'intégrité, pas l'authenticité
Un hachage cryptographique transforme une entrée en empreinte de longueur fixe. Modifier un seul bit change presque certainement le condensé ; un condensé moderne obtenu d'une source fiable donne de solides indices que deux copies ont les mêmes octets.
- Indices d'intégritéUne correspondance SHA-256 avec un condensé fiable indique fortement que votre copie a les mêmes octets que le fichier haché par l'éditeur ; elle ne prouve pas l'identité de cet éditeur.
- Authenticité séparéeL'authenticité ne l'est pas : une somme de contrôle affichée à côté du téléchargement ne dit rien sur qui a écrit le fichier — un attaquant qui remplace le téléchargement peut remplacer la somme affichée aussi.
- Les signatures sont un autre outilL'authenticité exige un autre mécanisme : une signature vérifiée contre une clé à laquelle vous faites déjà confiance, ou une somme livrée par un canal plus fiable que le téléchargement lui-même.
MD5 et SHA-1 ne servent plus qu'à l'intégrité
MD5 produit un condensé de 128 bits écrit en 32 caractères hexadécimaux ; SHA-1 produit 160 bits en 40 caractères. Les deux sont rapides et conviennent pour repérer une corruption accidentelle — et les deux ont des collisions publiquement démontrées, donc aucun ne résiste à un attaquant fabriquant un fichier malveillant au condensé identique.
La règle pratique : une correspondance MD5 ou SHA-1 attrape encore un téléchargement tronqué ou un disque défaillant, car les accidents ne calculent pas de collisions. Ce que ces algorithmes ne peuvent plus faire, c'est blanchir un fichier dont vous avez des raisons de vous méfier — ce jugement appartient désormais à SHA-256 ou mieux.
- MD5 est casséLes collisions MD5 sont pratiques depuis des années : deux fichiers différents au même condensé MD5 peuvent être construits délibérément, donc MD5 ne distingue plus l'accident de l'attaque.
- SHA-1 est casséSHA-1 a suivi la même route : une collision démontrée a mis fin à sa vie de primitive de sécurité, et navigateurs, autorités de certification et hébergeurs de code sont tous passés à autre chose.
- SHA-2 est la référenceLa famille SHA-2 est la référence actuelle : SHA-256 (64 caractères hexadécimaux) est le défaut des sommes de téléchargement publiées, avec SHA-224, SHA-384 et SHA-512 (56, 96 et 128 caractères) comme variantes pour d'autres contraintes.
Vérifiez un installateur, pas à pas
Le contrôle complet prend moins d'une minute avec des outils déjà sur votre machine. La séquence compte : obtenez le condensé attendu depuis la page officielle de l'éditeur, hachez votre copie locale, et comparez chaque caractère.
Une non-correspondance n'est pas toujours malveillante — téléchargements tronqués et proxys de cache corrompent les fichiers couramment — mais la réponse est la même dans les deux cas : le fichier échoue à la vérification, et la seule bonne étape suivante est une copie neuve depuis la source.
- Obtenir la valeur attendueTrouvez la somme publiée sur la page officielle de téléchargement ou de version de l'éditeur — idéalement en HTTPS sur un domaine où vous avez navigué vous-même, pas un miroir ni un extrait de résultat de recherche.
- Hacher en localHachez le fichier téléchargé localement : shasum -a 256 sur macOS ou Linux, ou Get-FileHash dans PowerShell sur Windows. Les deux s'exécutent contre votre disque ; rien n'est téléversé.
- Comparer exactementComparez le condensé complet caractère par caractère, sans tenir compte de la casse. Un seul caractère différent signifie jeter le fichier et en récupérer une copie neuve à la source — ne l'installez pas en espérant.
Hachez du texte sensible sans le téléverser
Beaucoup de vrais contrôles portent sur du texte, pas des fichiers : un extrait de configuration, une clé de licence, un fragment de jeton, une valeur dictée par téléphone. Les coller sur un site au hasard les confie aux journaux de quelqu'un d'autre, donc le hachage doit se faire localement.
SHA-256 Hash & Verify couvre le standard actuel de 64 caractères pour les sommes publiées. La vérification y est une comparaison, pas un déchiffrement : votre texte est haché, et les deux valeurs sont comparées dans le navigateur.
- Local par conceptionLe texte est haché en UTF-8 sans normalisation (1 Mio). Les fichiers sont hachés en octets d'origine par morceaux de 1 Mio (limite 256 Mio), y compris les fichiers vides. Une correspondance de condensé n'authentifie pas sa source ; MD5 et SHA-1 sont inadaptés aux vérifications d'intégrité adversariales. Le traitement s'exécute dans un Worker local annulable avec un budget d'exécution de 15 secondes.
- Comparaison expliciteLe mode Vérifier est une comparaison explicite : collez le condensé attendu et l'espace de travail rapporte correspondance ou non, en rejetant d'emblée les valeurs mal formées — exactement 32 caractères hexadécimaux pour MD5, 64 pour SHA-256.
- Sens unique par constructionUn condensé ne se déchiffre pas, mais les entrées courtes ou prévisibles peuvent être devinées puis hachées. N'utilisez pas un hachage généraliste non salé pour protéger mots de passe ou autres secrets à faible entropie.
Intégrez la comparaison à la routine
Les sommes de contrôle ne fonctionnent que si les comparer est une habitude plutôt qu'une pensée après coup. Quelques petites disciplines rendent le contrôle fiable à chaque fois.
Créez ou comparez un condensé hexadécimal à partir de texte UTF-8 ou des octets d'origine d'un fichier. La vérification compare localement les condensés de l'entrée choisie ; elle ne déchiffre pas un condensé et n'authentifie pas sa source.
- Comparaison complèteComparez chaque caractère : n'en vérifier que quelques-uns affaiblit le contrôle. MD5 et SHA-1 peuvent aussi subir des collisions sur le condensé entier, même si sa comparaison est complète.
- Nommer l'algorithmeGardez le nom de l'algorithme avec le condensé : 64 caractères hexadécimaux peuvent venir de plusieurs algorithmes, et une somme sans étiquette invite à deviner.
- Rehacher à chaque étapeRehachez après avoir déplacé un fichier par clés USB, clients de synchronisation ou e-mail ; chaque étape est une nouvelle chance de corruption, et le condensé voyage gratuitement.
Publiez des sommes de contrôle pour vos propres fichiers
Si vous distribuez des fichiers — un binaire de version, un jeu de données, un outil interne — publiez les sommes de contrôle à côté. Cela coûte une commande par artefact et donne à chaque destinataire un moyen de vérifier l'intégrité sans vous contacter.
SHA-512 Hash & Verify produit le condensé de 128 caractères localement quand vous avez besoin de la forme longue, et les variantes SHA-224 et SHA-384 couvrent le reste de la famille SHA-2 — même moteur, même onglet, même frontière.
- SHA-256 minimumPubliez au minimum SHA-256 ; ajoutez SHA-512 à côté quand votre public vérifie sur des plateformes où il tourne plus vite, et étiquetez chaque condensé avec son algorithme.
- Même niveau de confianceServez les sommes depuis le même niveau de confiance que le téléchargement lui-même, idéalement depuis une page ou un dépôt que vos utilisateurs considèrent déjà comme faisant autorité.
- MD5 en étiquette héritéeNe gardez les lignes MD5 que comme étiquettes de compatibilité héritée, clairement marquées comme contrôles d'intégrité contre la corruption accidentelle — jamais comme vérification de sécurité.
La vérification n'est qu'une partie de la confiance en un outil.
Apprenez à contrôler le chemin de données de tout outil en ligne avant de lui confier un fichier — le même scepticisme qu'une somme de contrôle récompense.