Une fonction de hachage transforme n'importe quelle entrée en une empreinte de longueur fixe. La même entrée donne toujours le même résultat, et changer un seul bit bouleverse entièrement la sortie. Cet outil calcule MD5, SHA-1, SHA-256, SHA-384 et SHA-512 — mais lequel choisir dépend entièrement de ce que vous cherchez à prouver.
Le hachage est à sens unique, et c'est tout l'intérêt
Contrairement à l'encodage ou au chiffrement, le hachage n'a pas d'inverse. Aucune clé ne ramène une empreinte SHA-256 au fichier dont elle provient, car l'empreinte fait 32 octets que l'entrée ait été un mot ou un gigaoctet : l'essentiel de l'information a tout simplement disparu. Quand un site prétend « déchiffrer » un hachage MD5, il cherche la valeur dans une table d'empreintes précalculées d'entrées courantes. Cela marche pour « password123 » et échoue sur tout ce qui est imprévisible.
C'est précisément cette propriété qui rend les empreintes utiles pour comparer. Vous pouvez prouver que deux fichiers sont identiques, ou qu'un téléchargement n'a pas été corrompu, sans jamais manipuler les fichiers ensemble.
MD5 et SHA-1 sont cassés — pour certains usages
Les deux sont cassés en un sens précis : la résistance aux collisions. Une collision, ce sont deux entrées différentes produisant la même empreinte, et pour MD5 un attaquant en construit une en quelques secondes sur un ordinateur portable. SHA-1 est tombé en 2017 lorsque des chercheurs ont produit deux PDF différents avec la même empreinte, et en 2020 les collisions à préfixe choisi l'ont rendu attaquable en pratique. Si une empreinte doit prouver qu'un document est bien celui que vous avez signé, aucun des deux ne convient.
Ils ne sont pas inutiles pour autant. Vérifier qu'un fichier a survécu intact à un transfert réseau, c'est une question de corruption accidentelle, pas d'adversaire malveillant — et MD5 y répond très bien, ce qui explique que beaucoup d'outils émettent encore des sommes MD5. La règle est simple : si un attaquant gagne à faire entrer deux entrées en collision, il vous faut SHA-256. Si personne ne vous attaque et que vous voulez seulement repérer un bit retourné, MD5 est rapide et suffisant.
Ne hachez jamais un mot de passe avec ceci
C'est l'erreur qui transforme une fuite de base de données en catastrophe. SHA-256 est conçu pour être rapide — le matériel moderne en calcule des milliards par seconde. Cette vitesse est une vertu pour les sommes de contrôle et un défaut fatal pour les mots de passe, car c'est exactement ce que souhaite un attaquant disposant de votre table d'empreintes fuitée. Ajouter un sel bloque les tables arc-en-ciel précalculées mais ne change rien à la vitesse brute.
Le hachage de mots de passe exige une fonction délibérément lente et gourmande en mémoire : bcrypt, scrypt ou Argon2. Elles offrent un paramètre de coût réglable pour rendre chaque tentative onéreuse, et Argon2 réclame en plus beaucoup de mémoire pour contrarier les attaques par GPU. Si vous cherchez une empreinte pour stocker un mot de passe, aucun des algorithmes de cette page n'est la bonne réponse.
Pourquoi MD5 fonctionne ici mais est absent de l'API du navigateur
Les algorithmes SHA de cette page passent par l'API Web Crypto intégrée au navigateur. MD5 non, car Web Crypto refuse délibérément de l'implémenter : l'organisme de normalisation a choisi de ne pas mettre une primitive cassée entre les mains des développeurs. MD5 est donc calculé ici par du JavaScript écrit pour l'occasion.
Une conséquence bonne à connaître : Web Crypto n'est disponible que dans un contexte sécurisé. En HTTP simple sur une adresse autre que localhost, crypto.subtle est undefined et les options SHA ne peuvent tout simplement pas fonctionner, tandis que MD5 continue. Si vous croisez un outil de hachage où MD5 marche et SHA-256 ne fait rien, c'est presque certainement la raison.
Questions fréquentes
Mon entrée est-elle envoyée à un serveur ?
Non. Cet outil porte la mention « client » : l'empreinte est calculée dans votre onglet et l'entrée ne quitte jamais votre machine. Cela mérite d'être dit clairement car on recourt souvent au hachage avec du matériel sensible — mais si l'entrée est réellement sensible, utilisez un outil contrôlé par votre organisation plutôt qu'une page web gratuite quelconque, celle-ci comprise.
Puis-je retrouver le texte d'origine à partir d'une empreinte ?
Non, et aucun outil ne le peut. Ce que font réellement les sites « MD5 inverse », c'est chercher votre empreinte dans un dictionnaire d'empreintes précalculées. Si votre entrée était un mot courant ou un mot de passe fuité, ils la trouveront instantanément ; si elle était imprévisible, ils ne trouveront rien. L'empreinte elle-même ne contient aucun chemin de retour.
Lequel dois-je utiliser ?
SHA-256, sauf raison précise de faire autrement. Il est assez rapide pour tout usage interactif, ne subit aucune attaque pratique, et c'est ce que le reste de l'écosystème attend. N'utilisez MD5 que lorsque quelque chose l'impose — un fichier de sommes existant, une API héritée — et jamais pour ce qu'un attaquant aurait intérêt à casser.
Pourquoi le même texte donne-t-il une empreinte différente sur mon serveur ?
Presque toujours une différence dans ce qui est haché, pas dans la manière. Le coupable classique est le saut de ligne final : echo en ajoute un, donc echo "abc" | md5sum hache quatre octets et non trois. L'autre est l'encodage des caractères — le même texte visible en UTF-8 et en UTF-16 forme une séquence d'octets différente, donc une empreinte différente. Le hachage n'a aucune tolérance pour « à peu près la même entrée ».
Une empreinte plus longue est-elle plus sûre ?
Uniquement face à la force brute, et SHA-256 la place déjà largement hors de portée. SHA-512 n'est pas significativement plus sûr que SHA-256 pour un usage ordinaire — sur du matériel 64 bits il est souvent légèrement plus rapide, ce qui est la raison la plus fréquente de le choisir. La longueur n'est pas l'axe qui compte ; l'existence d'attaques connues, si.