Générateur de hash

S’exécute dans votre navigateur ; rien n’est envoyé

Hash et HMAC MD5, SHA-1, SHA-256, SHA-384 et SHA-512 d’un texte ou d’un fichier, avec vérification par rapport à un hash que vous avez déjà.

Input

Hashes

Nothing to hash yet

Type or paste text on the left, or open a file to hash its bytes.
Ready
Hex

Qu’est-ce qu’un hash ?

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 hash, un seul octet modifié en donne un complètement différent, et on ne peut pas remonter du hash à l’entrée. MD5 produit 128 bits, SHA-1 160, et SHA-256, SHA-384 et SHA-512 le nombre de bits de leur nom, affichés ici en hexadécimal ou en Base64.

Les développeurs utilisent les hash pour vérifier que des données n’ont pas changé : une page de téléchargement publie une somme de contrôle SHA-256 pour que vous puissiez confirmer que le fichier reçu est bien celui qui a été publié. Un HMAC est un hash mélangé à une clé secrète. Les fournisseurs de webhooks et beaucoup d’API signent chaque requête en HMAC-SHA256, et le destinataire calcule le même HMAC sur le corps brut pour prouver que la requête est authentique.

MD5 et SHA-1 sont cassés pour la sécurité : un attaquant peut fabriquer deux entrées différentes avec le même hash. Ils restent utiles pour repérer des modifications accidentelles, mais utilisez SHA-256 ou plus fort pour tout ce que quelqu’un pourrait chercher à falsifier. Un simple hash n’est pas non plus la bonne façon de stocker des mots de passe ; il faut pour cela un algorithme lent et salé comme Argon2, scrypt ou bcrypt.

Comment utiliser cet outil

  1. 1Saisissez ou collez du texte dans le panneau Input. Il est haché en UTF-8, et les hash se mettent à jour pendant la saisie.
  2. 2Pour hacher un fichier, choisissez Hash a file (Ctrl+O) ou déposez le fichier sur l’entrée. Les octets du fichier sont hachés exactement tels qu’ils sont sur le disque, dans votre navigateur.
  3. 3Choisissez la sortie : hexadécimal, hexadécimal en majuscules ou Base64. Copiez un hash avec le bouton de sa ligne, ou tous avec Copy all.
  4. 4Pour un HMAC, passez le mode sur HMAC et saisissez la clé, en texte ou en octets hexadécimaux.
  5. 5Pour vérifier un hash qu’on vous a donné, collez-le dans Compare. L’outil indique à quel algorithme il correspond, que vous colliez de l’hexadécimal, du Base64 ou une ligne d’un fichier de sommes de contrôle.

Dépannage

Mon hash ne correspond pas à celui de la ligne de commande
Les hash portent sur des octets exacts. echo ajoute un retour à la ligne : utilisez echo -n ou printf. Une espace finale ou un encodage différent changent aussi le résultat.
Un texte avec des fins de ligne Windows donne un autre hash
Les navigateurs transforment en \n les fins de ligne du texte d’un éditeur, donc le texte collé est haché avec des fins de ligne LF. Pour hacher les octets exacts d’un fichier en CRLF, ouvrez le fichier au lieu de le coller.
La signature de mon webhook ne correspond pas
Calculez le HMAC sur le corps brut de la requête exactement tel qu’il a été reçu, avant toute analyse ou reformatage du JSON, avec la même clé et le même algorithme. Certains fournisseurs envoient la signature en Base64, d’autres en hexadécimal ; Compare accepte les deux.
La clé n’est pas de l’hexadécimal valide
En mode hexadécimal, la clé doit être composée de paires de chiffres 0–9 et a–f. Passez le format de la clé en texte pour utiliser ses caractères en UTF-8.

Questions fréquentes

Mon texte ou mon fichier est-il envoyé à un serveur ?

Non. SHA-1 et les hash SHA-2 sont calculés par l’API Web Crypto de votre navigateur, et MD5 par du code de la page. Les fichiers sont lus dans le navigateur, jusqu’à 200 Mo, et rien ne quitte votre appareil.

Peut-on inverser ou déchiffrer un hash ?

Non. Le hachage est à sens unique. Les sites qui prétendent inverser le MD5 cherchent le hash dans des tables de hash de mots et de mots de passe courants, ce qui ne marche que pour des entrées faibles.

Quel algorithme utiliser ?

SHA-256 pour les sommes de contrôle, les signatures et tout ce qui touche à la sécurité. SHA-384 et SHA-512 sont également sûrs. N’utilisez MD5 ou SHA-1 que là où un système existant les impose.