Mode d’emploi
- Saisissez ou collez du texte, passez l’entrée en Hexa pour saisir des octets, ou ouvrez le fichier à vérifier.
- Gardez SHA-256 sélectionné et choisissez la sortie « hexa (minuscules) », « HEXA (majuscules) » ou « Base64 ».
- Collez la somme de contrôle de la page de téléchargement dans le champ « Comparer avec ». « Correspondance » signifie que le fichier est identique.
- Copiez le résultat, ou copiez SHA-384, SHA-512 ou une autre empreinte depuis le tableau « Tous les algorithmes ».
Qu’est-ce que SHA-256 ?
SHA-256 est le membre le plus utilisé de la famille SHA-2, conçue par la NSA et normalisée par le NIST en 2002 dans FIPS 180-2. Il est aujourd’hui spécifié dans FIPS 180-4, et la RFC 6234 présente les mêmes algorithmes avec du code de référence. SHA-256 traite des blocs de 512 bits en 64 tours d’arithmétique sur 32 bits et produit une empreinte de 256 bits : 64 caractères hexadécimaux ou 44 caractères Base64. Aucune attaque pratique par collision ou par préimage n’est connue, et c’est le choix par défaut pour :
- les certificats et les négociations TLS, ainsi que la signature de code ;
- Bitcoin, qui applique SHA-256 deux fois pour les hachages de blocs, la preuve de travail et les identifiants de transaction (la somme de contrôle des adresses Base58Check provient du même double hachage) ;
- les fichiers de sommes de contrôle comme
SHA256SUMS, les empreintes d’images de conteneurs (sha256:...) et Subresource Integrity.
Vérifier un téléchargement
Ouvrez le fichier téléchargé et collez la somme de contrôle de l’éditeur dans le champ « Comparer avec ». La casse n’a pas d’importance, et une valeur Base64 fonctionne aussi. « Correspondance » signifie que le fichier est identique, octet pour octet, à celui à partir duquel la somme de contrôle a été calculée. Cela ne prouve pas qui l’a créé : prenez donc la somme de contrôle sur le site HTTPS de l’éditeur ou dans un fichier SHA256SUMS signé, plutôt que sur le miroir qui a servi le téléchargement.
Pour du texte, le hachage porte sur les octets, pas sur les caractères. Des fins de ligne Windows (CRLF), une marque d’ordre des octets (BOM) ou de l’UTF-16 au lieu de l’UTF-8 produisent chacun un SHA-256 complètement différent. Utilisez le menu « Encodage du texte » ou l’entrée en hexa pour hacher exactement les octets qu’un autre système a hachés.
Extension de longueur et mots de passe
Comme MD5, SHA-1 et SHA-512, SHA-256 est vulnérable aux attaques par extension de longueur : à partir de SHA-256(secret + message) et de la longueur du secret, un attaquant peut calculer un hachage valide pour ce message suivi d’un remplissage et de données de son choix, sans connaître le secret. Pour signer ou authentifier des données avec une clé, utilisez HMAC-SHA256 avec le générateur HMAC au lieu de hacher la clé et le message ensemble.
La vitesse explique aussi pourquoi un simple SHA-256 est une mauvaise façon de stocker des mots de passe : quiconque obtient les hachages peut essayer des mots de passe candidats aussi vite que ses cartes graphiques calculent SHA-256, et des mots de passe identiques produisent des hachages identiques. Utilisez Argon2id, scrypt, bcrypt ou PBKDF2-HMAC-SHA256 avec un nombre d’itérations élevé ; tous ajoutent un sel.
SHA-256 en ligne de commande et dans le code
$ printf 'abc' | sha256sum
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -
sha256sum -c SHA256SUMS # Linux : vérifier une liste de fichiers
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
Get-FileHash file.iso # PowerShell (SHA256 par défaut)
# Python
hashlib.sha256(data).hexdigest()
// Node.js
crypto.createHash('sha256').update(data).digest('hex')
La valeur pour abc est le vecteur de test de la norme ; saisissez abc ci-dessus pour obtenir le même résultat. Le tableau « Tous les algorithmes » affiche aussi les valeurs SHA-384, SHA-512, SHA-1, MD5 et CRC de votre entrée.
Exemples
| Entrée (UTF-8) | SHA-256 |
|---|---|
Hello, World! | dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f |
Base64.is | 63f2f446bc11a1f96175c0f77bdac08ca1b184ba42c3a42c34ddcbce00b1b800 |
你好 | 670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e |
Questions fréquentes
Peut-on déchiffrer un SHA-256 ?
Non. SHA-256 est un hachage à sens unique, pas un chiffrement. Les « décrypteurs » en ligne se contentent de chercher les hachages dans des tables d’entrées connues : ils trouvent les mots de passe courants et les chaînes courtes, mais rien de long ni d’aléatoire.
Pourquoi mon SHA-256 ne correspond-il pas à la somme de contrôle publiée ?
Le plus souvent, le téléchargement est incomplet ou il s’agit d’une autre version, ou bien vous avez haché le nom du fichier au lieu du fichier lui-même. Chargez le fichier avec « Ouvrir un fichier ». Vérifiez aussi que les deux valeurs utilisent le même algorithme : une valeur hexa de 128 caractères provient d’un hachage de 512 bits comme SHA-512, et non de SHA-256.
Comment obtenir un hachage SHA-256 en Base64 ?
sha256-, même si sha384- est plus courant) et l’en-tête HTTP Content-Digest utilisent cette forme. L’hexa et le Base64 contiennent les mêmes 32 octets ; passez de l’un à l’autre avec Base64 en hexa.SHA-256 est-il la même chose que SHA-2 ?
SHA-2 est une famille : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 et SHA-512/256. SHA-256 en est le membre le plus courant. SHA-3 (FIPS 202) est une conception distincte fondée sur Keccak, qui donne des résultats différents.
Quelle est la longueur d’un hachage SHA-256 ?
=. SHA3-256 et BLAKE2s ont la même longueur ; l’identificateur de hachage liste ce type de candidats pour un hachage inconnu.