01À quoi sert une empreinte ?
Une fonction de hachage transforme n'importe quelle donnée en une empreinte de taille fixe — 32 caractères hexadécimaux pour MD5, 64 pour SHA-256. Le moindre octet modifié change l'empreinte du tout au tout : c'est l'outil universel pour vérifier une intégrité (le fichier téléchargé est-il exactement celui publié ?), comparer deux fichiers sans les ouvrir, ou dédupliquer.
Tout se calcule ici dans votre navigateur : le texte comme les fichiers ne quittent jamais votre machine — même promesse que nos outils mots de passe et JWT. Les SHA passent par l'API WebCrypto native ; MD5, absent de WebCrypto, est réimplémenté fidèlement (RFC 1321).
02Choisir son algorithme
- MD5
- 128 bits, 1992. Cassé depuis 2004 (collisions à volonté) : uniquement pour sommes de contrôle et compatibilité avec l'existant.
- SHA-1
- 160 bits, 1995. Collision publique démontrée en 2017 (SHAttered) : banni des certificats et signatures, encore toléré par Git (en migration).
- SHA-256
- 256 bits, la référence actuelle : certificats TLS, signatures, blockchain. Le choix par défaut pour tout nouvel usage.
- SHA-384 / 512
- Les grands frères : plus longs, calcul 64 bits (souvent plus rapides que SHA-256 sur processeur 64 bits pour les gros volumes). Requis par certaines normes.
- Mots de passe
- AUCUN de ces algorithmes : trop rapides, donc attaquables par force brute massive. Il faut une fonction dédiée et lente — bcrypt, scrypt, argon2.
03Vérifier un téléchargement
Beaucoup de projets publient la somme SHA-256 de leurs fichiers. Après téléchargement, glissez le fichier ci-dessus et comparez l'empreinte à celle annoncée : identiques = fichier intact et authentique (si la somme vient d'une source de confiance) ; différentes = téléchargement corrompu… ou pire.
En ligne de commande, l'équivalent local : shasum -a 256 fichier (macOS/Linux) ou certutil -hashfile fichier SHA256 (Windows). Pour vérifier si un mot de passe a fuité, n'utilisez pas un hash maison : notre test de fuite le fait proprement via k-anonymity.
04Questions fréquentes
Peut-on « décoder » un hash pour retrouver l'original ?
Non par construction : le hachage est à sens unique, l'information est irrémédiablement compressée (un fichier de 1 Go donne 64 caractères). Ce qui existe : des tables de correspondance géantes (rainbow tables) qui retrouvent les entrées courtes et prévisibles — mots de passe courants notamment. C'est exactement pourquoi les mots de passe exigent des algorithmes lents et salés, pas un simple SHA-256.
Pourquoi MD5 est-il encore partout s'il est cassé ?
Parce que « cassé » vise la résistance aux collisions : un attaquant peut fabriquer deux contenus différents ayant le même MD5. Pour détecter une corruption accidentelle (téléchargement, disque), MD5 reste statistiquement irréprochable et très rapide — d'où sa survie dans les sommes de contrôle. Dès qu'un adversaire entre dans l'équation (signature, certificat, déduplication de sécurité), il est disqualifié.
Y a-t-il une limite de taille pour les fichiers ?
Le fichier est chargé en mémoire pour être haché : au-delà de quelques centaines de Mo, le navigateur peut ralentir ou refuser selon la machine. Pour des fichiers vraiment volumineux, préférez la ligne de commande locale (shasum, certutil), en flux et sans limite.
Deux fichiers avec le même SHA-256, c'est possible ?
Théoriquement oui (l'empreinte est finie, les fichiers infinis), en pratique non : aucune collision SHA-256 n'a jamais été trouvée, et la probabilité d'en croiser une par hasard est de l'ordre de 1 sur 2¹²⁸ — moins probable que de gagner au loto chaque semaine pendant une vie. Deux SHA-256 identiques = mêmes contenus, c'est une certitude d'ingénieur.
05Autres outils
Dev & encodage
Décodeur JWTDécoder un jeton JWT et vérifier sa signature, sans rien envoyer Timestamp UnixConvertir un timestamp epoch en date et inversement, en direct Expressions cronDécoder une expression crontab et calculer les prochaines exécutions Base64Encoder et décoder du Base64 (UTF-8, URL-safe), sans rien envoyer Générateur UUIDGénérer des UUID v4 aléatoires ou v7 ordonnés par le tempsMon IP & réseau — BGP / RPKI · Sous-réseau · Test de port
DNS & domaines — Test DNS · Propagation DNS · Whois · Punycode / IDN
Email — Score email · Test email · En-têtes d'email · Liste noire · Générateur DMARC · Clé DKIM
Web & SEO — Audit de page · En-têtes HTTP · En-têtes sécurité · Aperçu de partage · Test robots.txt · Certificats TLS · Redirections · Site en panne ? · User-Agent
Confidentialité & mots de passe — Fuite WebRTC · Mots de passe · Fuite de mot de passe