ItsMyIp

Empreintes MD5 & SHA

Le hash d'un texte en direct, ou d'un fichier par glisser-déposer — calculé dans votre navigateur, rien n'est transmis.

  • Texte et fichiers sont hachés dans votre navigateur (WebCrypto) : rien ne part sur le réseau — vérifiable dans l'onglet Réseau de vos outils de développement.
  • MD5 et SHA-1 sont cassés pour la sécurité (collisions) : bons pour une somme de contrôle ou une déduplication, à proscrire pour signatures, certificats et mots de passe.

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