Aller au contenu

Générateur de hachage (SHA-256)

Saisissez ou collez un texte et calculez en un clic ses hachages SHA-256, SHA-1, SHA-384 et SHA-512, affichés en hexadécimal minuscule ou majuscule avec un bouton de copie pour chacun. Le calcul utilise l'API Web Crypto de votre navigateur sur les octets UTF-8 du texte, donc rien n'est téléversé. Gratuit, sans inscription. L'outil ne calcule des hachages que de texte, pas de fichiers.

Comment utiliser le générateur de hachage

  1. 1. Saisissez votre texte. N'importe quel texte, dans la limite de ce que votre navigateur peut contenir dans une zone de saisie.
  2. 2. Cliquez sur Générer les hachages. Les quatre empreintes apparaissent ensemble, SHA-256 étant mis en avant comme la version recommandée.
  3. 3. Choisissez la casse. Hexadécimal majuscule fait basculer chaque empreinte entre minuscules (la convention habituelle) et majuscules ; les octets sous-jacents sont identiques.
  4. 4. Copiez l'empreinte dont vous avez besoin avec le bouton placé à côté.

Les quatre algorithmes

SHA-1, SHA-256, SHA-384 et SHA-512 sont définis dans la Secure Hash Standard du gouvernement américain, FIPS 180-4. Chacun transforme n'importe quelle entrée en une empreinte de taille fixe. La taille est la seule différence visible dans le résultat :

AlgorithmeTaille de l'empreinteCaractères hexadécimauxStatut
SHA-1160 bits40Compromis pour la sécurité : la première collision pratique a été publiée en 2017, et le NIST recommande de l'abandonner d'ici 2030. Sommes de contrôle héritées uniquement.
SHA-256256 bits64Le choix standard pour les contrôles d'intégrité et les signatures
SHA-384384 bits96Famille SHA-2 ; un SHA-512 tronqué
SHA-512512 bits128Famille SHA-2 ; souvent plus rapide que SHA-256 sur les processeurs 64 bits

Un hachage cryptographique est une empreinte à sens unique. La même entrée donne toujours la même empreinte, une modification infime donne une empreinte sans rapport, et le texte ne peut pas être retrouvé à partir de l'empreinte. MD5 n'est pas proposé, car l'API Web Crypto ne l'implémente pas.

Exemple détaillé

Texte

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Ces deux valeurs sont les vecteurs de test publiés dans les exemples de la norme, si bien que vous pouvez vérifier l'outil avec une source de confiance. Voyez maintenant ce que change une seule lettre. En remplaçant « dog » par « cog » dans The quick brown fox jumps over the lazy dog :

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

Ces empreintes SHA-256 n'ont rien de reconnaissable en commun : 123 des 256 bits diffèrent, ce qui est proche de la moitié attendue pour des valeurs sans rapport. C'est l'effet d'avalanche, et c'est pourquoi un hachage permet de montrer qu'un fichier ou un message a changé sans révéler ce qui a changé.

Pourquoi votre hachage peut ne pas correspondre

  • Saut de ligne final. abc et abc suivi d'un saut de ligne sont deux entrées différentes : le SHA-256 de abc plus un saut de ligne commence par edeaaff3, et non par ba7816bf. La commande echo abc | sha256sum hache aussi le saut de ligne ; utilisez printf ou echo -n pour l'omettre.
  • Casse et espaces. Abc ne donne pas le même hachage que abc, et il en va de même pour une espace en début ou en fin de texte.
  • Encodage. L'outil hache les octets UTF-8 de ce que vous avez saisi. Un texte haché en UTF-16 ou en Latin-1 ailleurs donne une empreinte différente pour tout caractère non ASCII.
  • Fins de ligne. Un texte collé depuis un fichier Windows peut contenir des retours chariot que la zone de saisie supprime ou uniformise.

À quoi cet outil ne sert pas

  • Fichiers. L'outil ne calcule que des hachages de texte. Pour un fichier, utilisez shasum -a 256 file sous macOS ou Linux, ou certutil -hashfile file SHA256 sous Windows.
  • Mots de passe. SHA-256 est conçu pour être rapide, ce qui aide un attaquant à deviner des mots de passe. Stockez les mots de passe avec une fonction de hachage de mots de passe lente et salée, comme Argon2id, scrypt ou bcrypt.
  • Hachages avec clé. Il n'existe pas d'option HMAC ni de sel.

De quel outil avez-vous besoin ?

Pour voir le texte lui-même en hexadécimal plutôt qu'une empreinte de celui-ci, utilisez le Convertisseur hexadécimal. Pour un identifiant aléatoire, utilisez le Générateur d'UUID ; pour un secret aléatoire, le Générateur de mots de passe.

Questions fréquentes

Mon texte est-il envoyé à un serveur ?
Non. Chaque empreinte est calculée dans votre navigateur avec l'API Web Crypto (crypto.subtle.digest). Votre texte n'est envoyé nulle part, et l'outil continue de fonctionner si vous passez hors ligne après le chargement de la page.
Qu'est-ce qu'un hachage cryptographique ?
Une fonction qui transforme une entrée de longueur quelconque en une empreinte de longueur fixe. Elle est déterministe, à sens unique et sensible à chaque bit de l'entrée. Les hachages servent notamment à vérifier l'intégrité des fichiers, dans les signatures numériques et dans les identifiants de commit.
Quel algorithme de hachage dois-je utiliser ?
SHA-256 pour presque tous les usages. SHA-384 et SHA-512 donnent des empreintes plus longues de la même famille. N'utilisez SHA-1 que lorsqu'un ancien système l'exige, et jamais pour la sécurité.
SHA-1 est-il sûr à utiliser ?
Pas pour la sécurité. L'attaque SHAttered de 2017 a produit deux fichiers PDF différents ayant la même empreinte SHA-1, et le NIST recommande de l'abandonner d'ici la fin de 2030. Il reste acceptable pour des sommes de contrôle non liées à la sécurité, lorsqu'aucun attaquant n'est à craindre.
Pourquoi n'y a-t-il pas d'option MD5 ?
L'API Web Crypto n'implémente pas MD5, et l'outil n'utilise que ce que le navigateur fournit. MD5 n'est plus adapté à la sécurité depuis de nombreuses années.
Puis-je calculer le hachage d'un fichier avec cet outil ?
Non, il n'accepte que du texte. Pour un fichier, utilisez l'outil en ligne de commande de votre système, comme décrit ci-dessus.
Pourquoi mon SHA-256 diffère-t-il de celui d'un autre site ?
Presque toujours parce que l'entrée diffère par un caractère invisible, comme un saut de ligne ou une espace finale, ou par un encodage de texte différent. Vérifiez les octets exacts avec le Convertisseur hexadécimal.

Outils associés

Autres outils : Données, balisage et code