Ce que fait cet outil
Du texte entre, son empreinte sort, dans l’algorithme que vous choisissez.
hello
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
SHA-256 par défaut, SHA-1 et SHA-512 au même menu. L’empreinte est calculée par l’implémentation Web Crypto du navigateur — aucun code de hachage de notre part, et rien n’est envoyé nulle part.
Générateur, calculateur, convertisseur : une seule opération
La même chose s’appelle générateur SHA-256, calculateur, convertisseur, outil de hachage. C’est une seule opération : du texte entre, une empreinte de longueur fixe sort. SHA-256, SHA256, SHA-2 256 et sha 256 nomment eux aussi un seul algorithme — l’orthographe bouge, le résultat non.
L’empreinte sort en hexadécimal minuscule, soixante-quatre caractères pour SHA-256 et quarante pour SHA-1. Les outils qui affichent une chaîne base64 plus courte encodent les trente-deux octets bruts derrière cet hexadécimal ; passer le texte hexadécimal lui-même à un encodeur base64 donne autre chose, et plus long.
Pourquoi la ligne de commande peut ne pas être d’accord
hello → 2cf24dba5fb0a30e…
hello\n → 5891b5b522d5df08…
echo hello | sha256sum hache la seconde : echo ajoute un retour à la ligne. Aucune des deux empreintes n’est fausse ; ce sont les empreintes d’octets différents, et une empreinte n’a aucun moyen de vous dire que la différence était invisible. Si vous comparez à une somme de contrôle, vérifiez d’abord le saut de ligne.
L’autre écart tient à l’unité : cette boîte contient du texte, et ce qui est haché, ce sont ses octets UTF-8. Un fichier est déjà fait d’octets — son encodage, ses fins de ligne, son saut de ligne final en font partie — alors pour un fichier, hachez le fichier : sha256sum sous Unix, certutil -hashfile sous Windows, Get-FileHash en PowerShell.
Ce qu’une empreinte n’est pas
- Ce n’est pas un chiffrement. Il n’y a pas de retour. L’empreinte fait la même longueur quoi que vous colliez, ce qui suffit à prouver qu’il n’y a pas la place d’y loger l’original.
- Ce n’est pas un coffre à mots de passe. Pas de sel, pas d’itérations, et rapide exprès. Pour cela, bcrypt, scrypt ou Argon2, côté serveur.
- Ce n’est pas une identité pour une entrée non fiable, en SHA-1. On sait fabriquer deux fichiers de même empreinte SHA-1 ; personne ne sait le faire aujourd’hui en SHA-256.
Où cela s’exécute
Dans votre navigateur, par crypto.subtle.digest — l’implémentation que votre navigateur emploie pour TLS, pas une réécriture dans cette page. Le texte ne quitte jamais l’onglet, et c’est bien l’idée : une chaîne qui mérite une empreinte est souvent une chaîne qui mérite de ne pas être envoyée à un inconnu.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.