Générateur de hash
Saisissez un texte ou choisissez un fichier pour obtenir ses empreintes MD5, SHA-1, SHA-256, SHA-384 et SHA-512 côte à côte, chacune avec son propre bouton de copie. Le calcul s'effectue sur votre appareil grâce à l'API Web Crypto du navigateur et à une routine MD5 locale : vos fichiers ne sont jamais envoyés.
0 caractères · 0 mots · 0 lignes
- MD5déconseillé pour la sécurité
- —
- SHA-1déconseillé pour la sécurité
- —
- SHA-256
- —
- SHA-384
- —
- SHA-512
- —
0 caractères · 0 mots · 0 lignes
Fonctionne entièrement dans cet onglet du navigateur. Votre texte n’est jamais envoyé ni stocké.
Tailles des empreintes
Les longueurs et les empreintes d’une entrée vide ont été calculées avec le MD5 de cette page et l’API Web Crypto lors de la construction de la page.
| Algorithme | Bits de l’empreinte | Longueur en hexadécimal | Bits par bloc | Statut | Hash d’une entrée vide |
|---|---|---|---|---|---|
| MD5 | 128 | 32 | 512 | Cassé : collisions trouvées en 2004 | d41d8cd98f00b204e9800998ecf8427e |
| SHA-1 | 160 | 40 | 512 | Cassé : collision démontrée en 2017 | da39a3ee5e6b4b0d3255bfef95601890afd80709 |
| SHA-256 | 256 | 64 | 512 | Sûr (SHA-2) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
| SHA-384 | 384 | 96 | 1024 | Sûr (SHA-2) | 38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b |
| SHA-512 | 512 | 128 | 1024 | Sûr (SHA-2) | cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e |
Cinq algorithmes, dont deux obsolètes
Une fonction de hachage transforme une entrée de n'importe quelle taille en une empreinte de taille fixe. Si vous modifiez un seul caractère, environ la moitié des bits de sortie changent : même « UltKit » et « ultkit » donnent des empreintes sans rapport. MD5, publié par Ron Rivest dans la RFC 1321 en 1992, produit 128 bits (32 caractères hexadécimaux). En 2004, Xiaoyun Wang et ses collègues ont montré comment fabriquer deux entrées différentes ayant le même hash MD5, et en 2012 le logiciel malveillant Flame a exploité une collision MD5 pour falsifier un certificat de signature de code Microsoft. SHA-1 (160 bits) a connu le même sort lorsque Google et le CWI d'Amsterdam ont publié la première collision réelle, SHAttered, en 2017. Ces deux algorithmes sont ici signalés comme « déconseillés pour la sécurité ».
SHA-256, SHA-384 et SHA-512 appartiennent à la famille SHA-2, spécifiée par le NIST dans la norme FIPS 180-4, et aucune attaque pratique n'est connue contre eux. SHA-256 est le choix par défaut pour les téléchargements de logiciels, le nouveau format d'objets de Git, les certificats TLS et Bitcoin. MD5 et SHA-1 restent corrects pour les usages sans adversaire, comme repérer une corruption accidentelle ou dédoublonner des fichiers, ce qui explique pourquoi beaucoup de pages de téléchargement les indiquent encore.
Pourquoi le hachage n'est pas du chiffrement
Le chiffrement est réversible par conception : celui qui détient la clé retrouve l'original. Un hash n'a pas de clé et ne peut pas être inversé, car une infinité d'entrées donnent chaque empreinte. Cela ne fait pas pour autant d'un hash un coffre sûr pour des secrets. Un attaquant qui voit le SHA-256 d'une entrée courte ou courante n'a qu'à hacher des candidats jusqu'à trouver une correspondance, et des tables précalculées couvrent des milliards de mots de passe connus. Les hash rapides sont faits pour être rapides, et les GPU actuels testent des milliards de combinaisons SHA-256 par seconde.
Stockez donc les mots de passe avec un hash de mot de passe volontairement lent et salé, comme Argon2, bcrypt ou scrypt, jamais avec du MD5 ou du SHA-256 simple, et créez les mots de passe eux-mêmes avec un générateur de mots de passe. Utilisez cette page pour ce que les hash rapides font bien : vérifier qu'un fichier téléchargé correspond à la somme de contrôle indiquée par son éditeur, comparer deux fichiers sans les ouvrir, ou contrôler une empreinte calculée par votre propre code. Le texte est haché en UTF-8 sans retour à la ligne final, ce qui explique en général qu'un résultat diffère de echo "texte" | sha256sum dans un terminal. Le hub des outils pour développeurs compare le hachage aux encodages réversibles sur un même exemple.
Questions fréquentes
- Comment vérifier un fichier téléchargé avec sa somme de contrôle SHA-256 ?
- Choisissez le fichier avec Hacher un fichier, puis comparez la ligne SHA-256 à la valeur indiquée sur le site de l'éditeur. Chaque caractère doit correspondre ; l'hexadécimal en majuscules ne change que l'affichage des lettres a à f.
- Peut-on déchiffrer un hash MD5 ou SHA-256 ?
- Non, il n'y a rien à déchiffrer. Les sites qui prétendent inverser des hash cherchent l'empreinte dans des tables de chaînes déjà hachées, ce qui ne fonctionne que pour des entrées courtes ou courantes.
- Pourquoi proposer encore MD5 s'il n'est plus sûr ?
- Beaucoup de systèmes publient encore des sommes de contrôle MD5, et il détecte très bien les modifications accidentelles. Il n'est compromis que face à un attaquant capable de fabriquer délibérément des fichiers en collision.
- Quel est le hash MD5 d'une chaîne vide ?
- d41d8cd98f00b204e9800998ecf8427e. Voir cette valeur signifie généralement qu'un programme n'a haché rien du tout, par exemple parce qu'un fichier n'a pas pu être chargé avant le calcul.
- SHA-512 est-il plus sûr que SHA-256 ?
- Aucun des deux n'est cassé, et ils sont bien au-delà de la force brute. SHA-512 produit une sortie plus longue et peut être plus rapide sur les processeurs 64 bits, mais SHA-256 reste le choix le plus couramment attendu pour les sommes de contrôle et les signatures.