Générateur de hachages

Hachages MD5, SHA-1 et SHA-2 et HMAC de textes ou de fichiers.

À propos de cet outil

Calculez le MD5, SHA-1, SHA-256, SHA-384 et SHA-512 de n’importe quel texte ou fichier, ou un HMAC avec une clé secrète. Les fichiers sont lus localement et jamais envoyés : l’outil sert donc aussi à vérifier les sommes de contrôle de téléchargements.

Mode d’emploi

  1. Choisissez Texte ou Fichier comme entrée.
  2. Saisissez du texte ou déposez un fichier. Les fichiers sont lus localement et jamais envoyés.
  3. Obtenez MD5, SHA-1, SHA-256, SHA-384 et SHA-512 en une fois, en hexadécimal ou en Base64.
  4. Pour les messages signés, activez HMAC et saisissez la clé secrète.

Questions

Comment vérifier un fichier téléchargé ?
Choisissez Fichier, déposez le fichier téléchargé et comparez la valeur SHA-256 avec la somme de contrôle publiée par le projet. Si un seul caractère diffère, ce n’est pas le même fichier.
Puis-je utiliser MD5 ou SHA-1 pour des mots de passe ?
Non. Ils sont trop rapides et présentent des faiblesses connues. Stockez les mots de passe avec un hachage lent conçu pour cela, comme Argon2, bcrypt ou scrypt.
Qu’est-ce qu’un HMAC ?
Un hachage combiné à une clé secrète. Il prouve qu’un message provient de quelqu’un qui connaît la clé et qu’il n’a pas été modifié. Les webhooks de services comme Stripe et GitHub sont signés de cette façon.
Pourquoi mon hachage diffère-t-il de celui d’un autre outil ?
Généralement à cause de différences invisibles dans l’entrée : un saut de ligne final, des fins de ligne Windows ou un encodage de texte différent. Ici, le texte est toujours haché en UTF-8, exactement tel que saisi.
Peut-on déchiffrer ou inverser un hachage ?
Non. Un hachage n’est pas un chiffrement, et il n’existe aucune clé pour l’annuler. Les sites qui proposent de « déchiffrer du MD5 » cherchent la valeur dans d’énormes tables de hachages de chaînes courantes. C’est aussi pourquoi des hachages non salés d’entrées courtes, comme des mots de passe ou des numéros de téléphone, ne rendent pas les données anonymes.
Comment vérifier la signature HMAC d’un webhook ?
Activez HMAC, saisissez le secret de signature et collez le corps brut de la requête exactement tel qu’il a été reçu, puis comparez la valeur hexadécimale HMAC-SHA256 avec l’en-tête de signature. GitHub l’envoie dans X-Hub-Signature-256 après un préfixe sha256=. Un JSON reformaté donne un résultat différent, et certains fournisseurs signent aussi un horodatage : consultez leur documentation.
Comment savoir quel algorithme a produit un hachage ?
Regardez sa longueur en hexadécimal. MD5 compte 32 caractères, SHA-1 40, SHA-256 64, SHA-384 96 et SHA-512 128. La longueur ne prouve pas l’algorithme, car d’autres hachages partagent ces tailles, mais elle réduit vite les possibilités. Hachez ici une entrée connue pour confirmer.

Qu’est-ce qu’une fonction de hachage ?

Une fonction de hachage cryptographique transforme une entrée de taille quelconque en une empreinte de taille fixe. SHA-256 produit toujours 256 bits, affichés sous forme de 64 caractères hexadécimaux, que vous hachiez un seul mot ou un fichier de 4 GB. La même entrée donne toujours le même hachage, et modifier un seul bit change environ la moitié du résultat. On ne peut pas inverser un hachage pour retrouver l’entrée : on peut seulement hacher des hypothèses et comparer les résultats.

Un bon hachage est aussi résistant aux collisions : trouver deux entrées ayant la même empreinte doit être pratiquement impossible. MD5 et SHA-1 ont perdu cette propriété. Une vraie collision SHA-1 a été publiée en 2017 (SHAttered), et les collisions MD5 se calculent en quelques secondes sur un ordinateur portable. Les deux restent valables pour repérer une corruption accidentelle, mais utilisez SHA-256 ou SHA-512 pour les signatures, les contrôles d’intégrité et tout ce où un attaquant pourrait intervenir.

Comment obtenir le même hachage SHA-256 en ligne de commande ?

Pour comparer avec une valeur obtenue dans le terminal, hachez exactement les mêmes octets. Sous Linux, lancez sha256sum file.iso, sous macOS shasum -a 256 file.iso, et dans Windows PowerShell Get-FileHash file.iso, qui utilise SHA-256 par défaut. Pour MD5, les commandes sont md5sum, md5 et Get-FileHash -Algorithm MD5. PowerShell affiche l’hexadécimal en majuscules : activez Majuscules ici si vous voulez que les deux valeurs soient identiques à l’œil.

Pour du texte, rappelez-vous qu’echo ajoute un saut de ligne : echo hello | sha256sum hache donc six octets, pas cinq. Utilisez printf hello | sha256sum ou echo -n pour correspondre à ce que vous avez saisi ici ; le nombre d’octets affiché au-dessus de la zone de texte confirme l’entrée exacte. Certains systèmes, comme les attributs Subresource Integrity, attendent l’empreinte en Base64 plutôt qu’en hexadécimal. Changez l’encodage de sortie pour l’obtenir sans conversion manuelle.

MD5, SHA-1, SHA-256 ou SHA-512 : quel hachage choisir ?

Pour un nouveau projet, SHA-256 est le choix par défaut : rapide, pris en charge partout et sans attaque pratique connue. SHA-512 donne une empreinte plus longue et est souvent plus rapide que SHA-256 sur les processeurs 64 bits, ce qui aide pour les gros fichiers. SHA-384 est un SHA-512 tronqué avec des valeurs initiales différentes, courant dans TLS et Subresource Integrity. Réservez MD5 et SHA-1 aux systèmes hérités et aux sommes de contrôle sans enjeu de sécurité, comme vérifier un fichier par rapport à un ancien MD5 publié.

Pour authentifier un message, comme le payload d’un webhook, utilisez un HMAC au lieu de hacher le secret avec le message. Un simple SHA-256 du secret suivi du message est vulnérable aux attaques par extension de longueur, que HMAC a été conçu pour empêcher. Les mots de passe exigent un algorithme lent et salé comme Argon2id ou bcrypt, et non l’un de ceux-ci. Pour des identifiants aléatoires ou des tokens secrets, utilisez le Générateur d’UUID ou le Générateur de mots de passe plutôt qu’un hachage.

Quelque chose ne fonctionne pas, ou un résultat semble faux ? Signaler un problème avec cet outil