Ce que fait cet outil
Calcule le hash SHA-256 de n'importe quel texte ou fichier dans ton navigateur, en renvoyant un digest hexadécimal de 64 caractères. SHA-256 est le cheval de bataille du hashing cryptographique moderne : 256 bits de sortie, partie de la famille SHA-2 (FIPS 180-4), conçue par la NSA et publiée en 2001. Après plus de deux décennies de scrutin public, aucune attaque par collision pratique sur SHA-256 n'est connue. C'est le bon défaut pour quasiment tout nouveau code qui a besoin d'un hash cryptographique.
Là où SHA-256 est utilisé
- Certificats TLS. Chaque certificat HTTPS émis aujourd'hui porte une signature SHA-256 (ou plus forte).
- Digests d'images de conteneur. Docker, OCI et Kubernetes utilisent SHA-256 pour identifier les images de manière unique. La notation
@sha256:abc...dans les références d'images, c'est exactement ça. - Hashes de blocs Bitcoin et IDs de transactions. Le proof-of-work de Bitcoin est SHA-256 appliqué deux fois ; chaque transaction est identifiée par son digest SHA-256.
- Subresource Integrity (SRI).
<script integrity="sha256-...">dit au navigateur de refuser le script si son hash ne matche pas. - Vérification de releases logicielles. Quand un projet publie un téléchargement à côté d'un checksum SHA-256, c'est ce qui est attendu.
- Format d'objets de nouvelle génération de git. Git 2.29+ supporte SHA-256 comme alternative à SHA-1 pour les nouveaux dépôts.
- Signatures JWT (HS256, RS256, ES256). Le « 256 » dans ces noms d'algorithmes, c'est SHA-256.
Quand choisir SHA-256 plutôt que SHA-512
- Compatibilité. Quasiment tout système qui accepte un hash accepte SHA-256. SHA-512 est bien supporté mais pas universel.
- Taille de sortie. SHA-256 tient en 32 bytes, SHA-512 en 64 bytes. Pour des applications sensibles au stockage (colonnes de base de données, paramètres d'URL, champs de certificat), SHA-256 fait moitié moins.
Choisis SHA-512 quand tu hashes plusieurs gigaoctets de données sur une machine 64 bits — SHA-512 opère nativement sur des mots 64 bits et peut être marginalement plus rapide malgré le digest plus grand.
Quand SHA-256 n'est pas le bon outil
- Stockage de mots de passe. Même avertissement que les autres hashes rapides : utilise bcrypt, scrypt ou Argon2. SHA-256 est trop rapide — un GPU moderne en calcule des milliards par seconde.
- Authentification de message. Utilise HMAC-SHA-256, pas SHA-256 nu.
HMAC(key, message)est la construction ; SHA-256 seul ne prend pas de clé. - Dérivation de clé. Utilise HKDF ou PBKDF2-SHA-256, pas SHA-256 nu. Hasher directement un mot de passe en clé n'est pas sûr.
Vecteurs de test
Vecteurs de test SHA-256 canoniques de FIPS 180-4 :
- String vide
""→e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 "abc"→ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"→248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1"The quick brown fox jumps over the lazy dog"→d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
Notes
Pourquoi 64 caractères ? SHA-256 produit 256 bits = 32 bytes = 64 caractères hex.
Cette implémentation est-elle à temps constant ? Oui — elle utilise le crypto.subtle.digest WebCrypto du navigateur, que la plateforme expose comme une primitive native à temps constant. Il n'y a pas de sortie anticipée sur les données d'entrée qui leakerait du timing.
Limites de taille de fichier ? Le sélecteur de fichier hashe jusqu'à 256 Mo en local. Des fichiers plus gros sont techniquement possibles mais lents sur la thread principale ; pour ceux-là, préfère sha256sum dans un terminal.
Pourquoi mon SHA-256 diffère-t-il de sha256sum ? Newline final. echo "hello" | sha256sum ajoute \n ; coller "hello" ici non. Utilise echo -n ou le sélecteur de fichier pour un match byte-exact.
Outils liés
- Générateur de hash — les cinq hashes côte à côte
- SHA-512 — même niveau de sécurité, digest plus long, plus rapide sur 64 bits
- SHA-1 — prédécesseur, déprécié pour la sécurité
- Base64 — encode un digest binaire pour le transport (par exemple, attributs SRI)