Générateur de hash MD5 et SHA

Collez un texte ou déposez un fichier pour voir MD5, SHA-1, SHA-256, SHA-384 et SHA-512 en même temps. Pour vérifier un téléchargement, collez le hash publié et la page vous dit s'il correspond. Le texte et le fichier ne quittent pas votre navigateur.

MD5 et SHA-1 servent aux checksums et à la compatibilité avec d'anciens systèmes, pas à la sécurité. Un hash n'est pas non plus du chiffrement : il n'y a pas de clé et on ne peut pas revenir au texte d'origine.

Source
0 octets
Le texte est en
Fins de ligne
Algorithmes
Format du résultat

Résultat

Pas encore de hash

Tapez un texte ou choisissez un fichier. Chaque algorithme coché s'affiche ici avec son bouton copier.

La casse, les espaces et les préfixes comme sha256: sont ignorés. L'algorithme est déduit de la longueur.

Besoin de vérifier la signature d'un webhook ? Elle utilise HMAC, un hash avec une clé secrète.

Valider un HMAC

Vous stockez des mots de passe ? MD5 et SHA sont trop rapides pour cela. Générez un hash bcrypt pour votre utilisateur de test.

Générer un bcrypt

Qu'est-ce qu'un hash

Une fonction de hachage transforme n'importe quelle entrée, d'un mot à un fichier de plusieurs gigaoctets, en une valeur de taille fixe : 32 caractères hex pour MD5, 64 pour SHA-256. La même entrée donne toujours le même hash, et changer un seul bit change tout le résultat. C'est pourquoi le hash sert d'empreinte du contenu. Ce n'est pas du chiffrement, car il n'y a ni clé ni chemin retour. Les sites qui prétendent déchiffrer du MD5 cherchent simplement le hash dans une liste de mots de passe courants calculée à l'avance.

Longueur et usage de chaque algorithme

AlgorithmeCaractères hexOù on le trouve
MD532ETag, Content-MD5, déduplication et intégrations anciennes. Pas pour la sécurité.
SHA-140Commits Git et systèmes hérités. Collision démontrée en 2017.
SHA-25664Checksum de releases, Docker, SRI, TLS et JWT HS256. Le choix par défaut.
SHA-38496Subresource Integrity et certificats.
SHA-512128Hash long quand la spécification le demande. Rapide sur les CPU 64 bits.
SHA3-25664Spécifications qui exigent SHA-3. Construction différente de SHA-2.
SHA3-512128Même usage que SHA3-256, avec une sortie plus longue.
CRC328zip, gzip, PNG et réseaux. Détecte les erreurs accidentelles, pas les falsifications.

MD5 et SHA-1 : cassés, mais toujours présents

La première collision MD5 a été publiée en 2004, et aujourd'hui deux contenus différents avec le même MD5 s'obtiennent en quelques secondes sur un portable. En 2017, Google a publié deux PDF avec le même SHA-1. Cela les exclut des signatures numériques, des certificats et des mots de passe. Ils restent utiles pour repérer une corruption accidentelle, et on les trouve dans les ETag des serveurs et de S3, dans Content-MD5, dans la déduplication de fichiers, dans d'anciennes intégrations qui signent les requêtes en MD5 et dans les commits Git, qui utilisent encore SHA-1.

SHA-256, SHA-384 ou SHA-512

Les trois font partie de la famille SHA-2 et restent sûrs. SHA-256 est le standard de fait : checksum de releases, Docker, Bitcoin, TLS et HS256 des JWT. SHA-512 produit 128 caractères et est souvent plus rapide que SHA-256 sur les CPU 64 bits. SHA-384 est un SHA-512 tronqué, présent dans Subresource Integrity (integrity="sha384-...") et dans les certificats. SHA-3 est une autre construction, utile quand une spécification l'exige, mais il ne remplace pas SHA-2 à cause d'une faille.

Comment vérifier le checksum d'un téléchargement

Des projets comme Ubuntu, Node.js et Python publient un fichier SHA256SUMS à côté du téléchargement. Déposez ici le fichier téléchargé et collez la ligne correspondante dans le champ du hash attendu. Dans le terminal, le même calcul se fait avec sha256sum fichier.iso sous Linux, shasum -a 256 fichier.iso sous macOS et Get-FileHash fichier.iso dans PowerShell, qui affiche le hash en majuscules. La casse ne change pas la valeur.

Pourquoi le même texte donne un autre hash

Ce sont presque toujours des octets invisibles. echo "motdepasse" | md5sum inclut le saut de ligne final, echo -n non. Les fichiers enregistrés sous Windows utilisent CRLF (\r\n) et sous Linux LF (\n). Un éditeur a pu ajouter un BOM au début, et le texte peut être en Latin-1 au lieu d'UTF-8, ce qui change les octets de é et ç. Utilisez le choix des fins de ligne et le compteur d'octets pour trouver la différence.

On ne stocke pas un mot de passe avec MD5 ou SHA

MD5 et SHA ont été conçus pour être rapides, et une carte graphique ordinaire teste des milliards de hash par seconde. Avec une liste de mots de passe divulgués, la plupart des hash de mots de passe en MD5 ou SHA-256 tombent en quelques minutes, avec ou sans sel fixe. Pour les mots de passe, utilisez un algorithme lent exprès, avec un sel par utilisateur, comme bcrypt ou Argon2.

Questions fréquentes sur les hash

MD5, SHA, checksum de fichiers et les raisons pour lesquelles un hash ne correspond pas.