Générateur de Hash SHA-256

Générer un hash SHA-256 à partir de n'importe quel texte

Texte d'entrée

Fonctionne localement · Sûr pour coller des secrets

Hash SHA-256

Le hash SHA-256 s'affichera ici…

Qu’est-ce que le hachage SHA-256 ?

SHA-256 (Secure Hash Algorithm 256 bits) est une fonction de hachage cryptographique de la famille SHA-2, publiée par le NIST en 2001 dans le cadre de FIPS 180-2 (mise à jour dans FIPS 180-4). Quelle que soit l’entrée — un seul caractère, un fichier de plusieurs gigaoctets ou une chaîne vide — SHA-256 produit un condensat fixe de 256 bits (32 octets), affiché conventionnellement sous forme de 64 caractères hexadécimaux. SHA-256 est aujourd’hui la fonction de hachage la plus largement déployée en production : elle est au cœur des chaînes de certificats TLS, de la preuve de travail de Bitcoin, de la Subresource Integrity (SRI) et des workflows de signature de code.

SHA-256 est une fonction à sens unique : calculer un condensat à partir d’une entrée est rapide (plusieurs centaines de mégaoctets par seconde sur du matériel moderne), mais inverser le processus — trouver une entrée produisant un condensat donné — est informatiquement impossible. Cette propriété, appelée résistance à la préimage, rend SHA-256 adapté au hachage de mots de passe (combiné avec un sel et un étirement de clé), aux signatures numériques et à la vérification d’intégrité des données. Contrairement à MD5 et SHA-1, aucune attaque par collision ou préimage n’a été démontrée contre SHA-256 complet.

La famille SHA-2 comprend six variantes : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 et SHA-512/256. SHA-256 opère sur des mots de 32 bits avec 64 tours par bloc, optimisé pour les processeurs 32 bits. SHA-512 utilise des mots de 64 bits et 80 tours, ce qui peut être plus rapide sur les plateformes 64 bits. Pour la plupart des applications où un condensat de 256 bits est suffisant, SHA-256 reste la recommandation par défaut du NIST, de l’IETF et du CA/Browser Forum.

Pourquoi utiliser un générateur SHA-256 en ligne ?

Calculer un condensat SHA-256 nécessite habituellement une commande en terminal ou quelques lignes de code. Cet outil basé sur le navigateur vous permet de calculer des condensats SHA-256 sans rien installer, sans changer de contexte et sans écrire de script.

Hachage instantané dans le navigateur
Collez ou saisissez n’importe quel texte et obtenez le condensat SHA-256 immédiatement. L’API Web Crypto gère le calcul nativement — sans surcharge de bibliothèque JavaScript.
🔒
Traitement axé sur la confidentialité
Votre saisie ne quitte jamais votre appareil. Tout le hachage s’exécute localement via l’API Web Crypto intégrée au navigateur. Aucune donnée n’est transmise à un serveur.
📋
Formats de sortie prêts à copier
Obtenez le condensat en hexadécimal minuscules ou majuscules en un clic. Utile pour comparer des sommes de contrôle issues de gestionnaires de paquets, de pipelines CI ou de documentation.
🔍
Vérification de valeurs de référence
Vérifiez rapidement des condensats SHA-256 issus de pages de téléchargement, de manifestes SBOM ou de journaux d’audit sans ouvrir un terminal ni écrire de code jetable.

Cas d’utilisation de SHA-256

Développeur front-end — Subresource Integrity
Calculez le condensat SHA-256 d’un script ou d’une feuille de style hébergés sur un CDN pour renseigner l’attribut integrity dans les balises script et link, afin de se protéger contre les attaques sur la chaîne d’approvisionnement.
Ingénieur back-end — Signature de requêtes API
De nombreuses API (AWS Signature V4, webhooks Stripe) exigent des condensats SHA-256 des charges utiles de requête. Utilisez cet outil pour calculer des condensats de référence lors du développement et du débogage.
DevOps — Vérification d’artefacts
Vérifiez les sommes de contrôle SHA-256 de binaires téléchargés, d’images Docker de base ou de plugins Terraform avant de les déployer en infrastructure de production.
Ingénieur QA — Validation de vecteurs de test
Comparez les sorties SHA-256 aux vecteurs de test du NIST (exemples FIPS 180-4) pour confirmer que votre implémentation de hachage gère correctement les cas limites.
Ingénieur data — Empreintes au niveau des lignes
Hachez des clés composites ou des champs PII avec SHA-256 pour créer des empreintes déterministes et irréversibles à des fins de déduplication ou de pseudonymisation dans les pipelines de données.
Étudiant — Travaux pratiques en cryptographie
Expérimentez avec SHA-256 pour observer l’effet avalanche : modifiez un seul caractère dans l’entrée et constatez comment la totalité des 64 caractères de sortie change de façon imprévisible.

Comparaison des variantes de la famille SHA-2

SHA-256 appartient à la famille SHA-2 définie dans FIPS 180-4. Chaque variante fait des compromis entre la taille du condensat, les caractéristiques de performance et la marge de sécurité. Le tableau ci-dessous compare toutes les variantes SHA-2 que vous êtes susceptible de rencontrer.

VarianteTaille du condensatLongueur hexTaille en octetsIdéal pour
SHA-256256 bits64 hex chars32 bytesTLS, blockchain, code signing, JWTs, SRI
SHA-224224 bits56 hex chars28 bytesTruncated SHA-256 — rare, specific compliance
SHA-384384 bits96 hex chars48 bytesGovernment / CNSS, higher collision margin
SHA-512512 bits128 hex chars64 bytesDigital signatures, HMAC with large keys
SHA-512/256256 bits64 hex chars32 bytesSHA-512 speed on 64-bit CPUs, 256-bit output

SHA-256 vs SHA-1, MD5 et SHA-3

Le choix du bon algorithme de hachage dépend de vos exigences de sécurité et de vos contraintes de compatibilité. SHA-256 occupe la position idéale en pratique : il est sécurisé, universellement pris en charge (y compris par l’API Web Crypto) et suffisamment rapide pour la plupart des charges de travail. Le tableau comparatif ci-dessous couvre les propriétés les plus importantes pour choisir une fonction de hachage.

PropriétéSHA-256SHA-1MD5SHA-3-256
Digest size256 bits (64 hex)160 bits (40 hex)128 bits (32 hex)256 bits (64 hex)
Security statusSecureBroken (2017)Broken (2004)Secure
Collision resistance2^128 operationsPractical attackPractical attack2^128 operations
Block size512 bits512 bits512 bits1600 bits (sponge)
Rounds64806424
StandardFIPS 180-4FIPS 180-4RFC 1321FIPS 202
Web Crypto APIYesYesNoNo
Primary use todayTLS, blockchain, SRILegacy git onlyNon-security checksumsBackup standard

Fonctionnement interne de SHA-256

SHA-256 traite les données en blocs de 512 bits (64 octets) via une construction de Merkle–Damgård. L’algorithme initialise huit mots d’état de 32 bits (H0–H7) dérivés des parties fractionnaires des racines carrées des huit premiers nombres premiers. Chaque bloc passe par 64 tours de mélange utilisant des opérations sur les bits (AND, XOR, NOT, rotation droite, décalage droite) et 64 constantes de tour dérivées des racines cubiques des 64 premiers nombres premiers.

Input: "hello world"
SHA-256: b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
(256 bits = 32 bytes = 64 hex characters)
ÉtapeDescriptif
PaddingAppend a 1-bit, then zeros until the message length is 448 mod 512. Append the original message length as a 64-bit big-endian integer.
Block splittingDivide the padded message into 512-bit (64-byte) blocks.
Message scheduleExpand each 16-word (32-bit) block into 64 words using sigma functions with right-rotate and right-shift operations.
CompressionProcess 64 rounds per block using Ch, Maj, and two Sigma functions with 64 round constants derived from cube roots of the first 64 primes.
OutputConcatenate the eight 32-bit state words (H0-H7) into a 256-bit (32-byte) digest, rendered as 64 hexadecimal characters.

L’effet avalanche garantit que le changement d’un seul bit en entrée modifie environ 50 % des bits en sortie. Cette propriété, combinée à une résistance aux collisions de 2^128, explique pourquoi SHA-256 reste la recommandation de référence pour les applications sensibles à la sécurité en 2026.

Exemples de code SHA-256

SHA-256 est disponible nativement dans tous les langages et environnements d’exécution majeurs. L’API Web Crypto le fournit dans les navigateurs sans aucune bibliothèque. Les exemples ci-dessous illustrent des patterns d’utilisation réels, notamment la gestion des entrées Unicode et le hachage de fichiers.

JavaScript (Web Crypto API)
// Works in all modern browsers and Node.js 18+
async function sha256(text) {
  const data = new TextEncoder().encode(text)
  const hashBuffer = await crypto.subtle.digest('SHA-256', data)
  const hashArray = Array.from(new Uint8Array(hashBuffer))
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('')
}

await sha256('hello world')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

// Node.js (built-in crypto module)
const crypto = require('crypto')
crypto.createHash('sha256').update('hello world').digest('hex')
// → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
Python
import hashlib

# Basic SHA-256 hash
result = hashlib.sha256(b'hello world').hexdigest()
print(result)  # → "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

# Hash a string (encode to bytes first)
text = 'café ☕'
hashlib.sha256(text.encode('utf-8')).hexdigest()
# → "3eb53e00aa1bb4b1e8aab1ab38e56e6b8fb0b20e1cf7e1d19f36e4fad2537445"

# Hash a file in chunks (memory-efficient)
with open('release.tar.gz', 'rb') as f:
    sha = hashlib.sha256()
    for chunk in iter(lambda: f.read(8192), b''):
        sha.update(chunk)
    print(sha.hexdigest())
Go
package main

import (
    "crypto/sha256"
    "fmt"
)

func main() {
    data := []byte("hello world")
    hash := sha256.Sum256(data)
    fmt.Printf("%x\n", hash)
    // → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
}
CLI (Linux / macOS)
# Using sha256sum (Linux) or shasum (macOS)
echo -n "hello world" | sha256sum
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# macOS
echo -n "hello world" | shasum -a 256
# → b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9  -

# Verify a file checksum
echo "b94d27b...  myfile.bin" | sha256sum -c
# → myfile.bin: OK

# Using openssl (cross-platform)
echo -n "hello world" | openssl dgst -sha256
# → SHA2-256(stdin)= b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9

Questions fréquentes

SHA-256 est-il toujours sécurisé ?
Oui. En 2026, aucune attaque par collision, préimage ou seconde préimage n’a été trouvée contre SHA-256 complet en pratique. Le NIST, le CA/Browser Forum et l’IETF continuent de recommander SHA-256 pour les certificats TLS, la signature de code et les signatures numériques. La résistance théorique aux collisions est de 2^128 opérations, bien au-delà des capacités de calcul actuelles.
Quelle est la différence entre SHA-256 et SHA-2 ?
SHA-2 est le nom de famille de six fonctions de hachage : SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 et SHA-512/256. SHA-256 est le membre le plus utilisé. Lorsqu’une documentation dit « utiliser SHA-2 », cela désigne presque toujours SHA-256 spécifiquement, sauf si un condensat plus long est requis.
SHA-256 peut-il être inversé ou déchiffré ?
Non. SHA-256 est une fonction de hachage à sens unique, pas un chiffrement. Il n’y a ni clé ni processus de déchiffrement. La seule façon de retrouver l’entrée originale est une attaque par force brute ou par dictionnaire, ce qui est informatiquement impossible pour des entrées suffisamment complexes. Pour les entrées courtes ou prévisibles (comme les mots de passe courants), des tables arc-en-ciel précalculées existent, ce qui explique pourquoi le hachage de mots de passe doit toujours utiliser un sel et une fonction de dérivation de clé dédiée comme bcrypt ou Argon2.
Comment SHA-256 se compare-t-il à SHA-3 ?
SHA-3 (Keccak, FIPS 202) utilise une structure interne entièrement différente (construction en éponge) de celle de SHA-256 (Merkle–Damgård). SHA-256 et SHA-3-256 produisent tous deux un condensat de 256 bits et offrent une résistance aux collisions équivalente. SHA-3 a été conçu comme solution de secours au cas où SHA-2 serait compromis, mais SHA-2 reste inviolé. SHA-256 bénéficie d’une prise en charge plus large — notamment, l’API Web Crypto prend en charge SHA-256 mais pas SHA-3.
SHA-256 convient-il au hachage de mots de passe ?
Pas directement. Un condensat SHA-256 brut d’un mot de passe est vulnérable aux attaques par force brute et aux tables arc-en-ciel, car SHA-256 est conçu pour être rapide. Pour le stockage de mots de passe, utilisez une fonction de dérivation de clé dédiée comme bcrypt, scrypt ou Argon2id, qui ajoutent un sel et un facteur de travail configurable pour ralentir les attaques.
Pourquoi Bitcoin utilise-t-il un double SHA-256 ?
Bitcoin calcule SHA-256(SHA-256(data)) (connu sous le nom de hash256) pour les en-têtes de blocs et les identifiants de transactions. Cette double application protège contre les attaques par extension de longueur, où un attaquant ajoute des données à un message et calcule un condensat valide sans connaître l’entrée originale. C’est une propriété des condensats de Merkle–Damgård que SHA-256 en passe unique ne prévient pas.
Qu’est-ce que la Subresource Integrity (SRI) et quel est son lien avec SHA-256 ?
SRI est une spécification W3C permettant aux navigateurs de vérifier qu’une ressource récupérée (script, feuille de style) n’a pas été altérée. Vous ajoutez un attribut integrity contenant un condensat SHA-256 (ou SHA-384/SHA-512) encodé en Base64 du contenu de fichier attendu. Le navigateur calcule le condensat du fichier téléchargé et refuse de l’exécuter si les condensats ne correspondent pas. SHA-256 est l’algorithme minimal pris en charge par SRI.