Avalanche de hachage
Inverser chaque bit d’entrée UTF-8 et comparer les hachages SHA-256 complets, masques XOR et distances de Hamming.
À propos de cet outil
Saisissez jusqu’à 256 octets UTF-8 et choisissez Analyser. L’outil hache l’entrée d’origine avec SHA-256, puis inverse chaque bit d’entrée séparément et hache les octets modifiés. Tous les bits d’entrée sont testés : jusqu’à 2048 changements. Le nombre d’octets affiché inclut tout le texte ; une entrée trop longue est refusée, jamais raccourcie en silence.
L’indice de bit d’entrée commence à 0 et parcourt les octets dans l’ordre. Dans chaque octet, le bit 0 est le bit de poids faible (LSB) : les masques sont 1, 2, 4, 8, 16, 32, 64 et 128. Chaque essai part des octets d’origine et change exactement un bit. La séquence d’octets modifiée est hachée directement, même si elle n’est pas du UTF-8 valide. Elle n’est jamais redécodée en texte.
Le texte est encodé avec l’encodage UTF-8 standard du navigateur, y compris le remplacement des substituts UTF-16 non appariés. Aucune normalisation Unicode n’est appliquée. Un texte visuellement identique peut donc avoir des octets et des hachages différents. L’entrée d’origine et l’entrée modifiée sont montrées entièrement en hexadécimal, deux chiffres par octet.
SHA-256 produit 256 bits de sortie. Le XOR des hachages d’origine et modifié a un 1 partout où les hachages diffèrent. Compter ces uns donne la distance de Hamming. Le masque 16 × 16 se lit de gauche à droite, puis de haut en bas, bit de poids fort d’abord dans chaque octet de sortie, comme l’ordre hexadécimal habituel. Les carrés pleins sont 1, les carrés en contour sont 0.
La courbe montre chaque changement de bit d’entrée ; sélectionnez n’importe quel essai avec l’indice exact, le curseur ou le diagramme. Cette sélection utilise l’analyse achevée et ne hache pas à nouveau. Moyenne, minimum et maximum résument tous les essais. La référence à 128 bits est 50 % de la sortie : un guide statistique, pas un résultat exigé pour un changement ni une preuve de sécurité cryptographique.
Un texte vide est valide et a son propre hachage SHA-256. Sans bits d’entrée, il n’y a ni essais ni statistiques de distance. Une sonde invalide masque ses valeurs et son masque jusqu’à correction. Les changements d’entrée, l’effacement du résultat ou le départ de l’outil annulent le travail en attente. Un condensé de navigateur déjà en cours peut se terminer en interne, mais ne peut pas rétablir un résultat annulé. Aucune analyse partielle n’est présentée comme complète. SHA-256 doit être disponible via l’API Web Crypto du navigateur. Les brouillons, l’indice exact de sonde, les détails ouverts et les analyses terminées restent dans le stockage local de ce navigateur lors d’un rechargement ou d’un changement de langue. Les analyses terminées sont restaurées depuis leurs empreintes enregistrées, sans nouveau hachage. Les brouillons invalides et Effacer attendent une nouvelle analyse. Une copie endommagée est écartée, mais son texte est conservé. Les brouillons dépassant la capacité automatique restent disponibles lors de la navigation dans l’app ; enregistrez leur texte UTF-8 avant de recharger, ce qui récupère la copie précédente.
Sources : W3C Web Cryptography API: digest and SHA-256 ; WHATWG Encoding: TextEncoder and UTF-8. NIST: worked SHA-256 example for abc.
Ouvrez « Octets et hachages » pour examiner les octets et hachages complets, avant et après modification, ainsi que la valeur XOR.