Générateur de hash SHA-3 et Keccak
Calculez des empreintes SHA3-224/256/384/512, Keccak-256/512 et SHAKE128/256 à partir de texte ou d'octets hexadécimaux, directement dans votre navigateur.
Le générateur de hash SHA-3 et Keccak s'exécute entièrement dans votre navigateur. Le texte et les octets hexadécimaux que vous hachez sont traités sur votre appareil et ne sont jamais téléversés vers ArrayKit.
Ouvrir l'outil de hash SHA-256 et SHA-1
À propos de Hash SHA-3 et Keccak
Le générateur de hash SHA-3 et Keccak calcule toute la famille FIPS 202 — SHA3-224, SHA3-256, SHA3-384 et SHA3-512 — plus les Keccak-256 et Keccak-512 d'origine et les fonctions à sortie extensible SHAKE128/SHAKE256. Tapez du texte UTF-8 ou passez en mode hexadécimal pour hacher des octets bruts, et l'empreinte en minuscules se met à jour au fil de la frappe. Il est conçu pour la confusion quotidienne autour de ces algorithmes : SHA3-256 et Keccak-256 semblent identiques mais diffèrent d'un octet de remplissage, et Ethereum a adopté Keccak-256 avant que le standard ne soit finalisé. Utilisez-le pour dériver un sélecteur de fonction Ethereum, vérifier un résultat keccak256 en Solidity, contrôler une somme de contrôle SHA-3, ou choisir une longueur de sortie SHAKE. Chaque empreinte est calculée dans votre navigateur, si bien que les valeurs que vous hachez restent sur votre appareil.
Fonctionnalités
- Couvre SHA3-224, SHA3-256, SHA3-384 et SHA3-512 issus du NIST FIPS 202
- Inclut les Keccak-256 et Keccak-512 d'origine utilisés dans tout Ethereum
- SHAKE128 et SHAKE256 avec une longueur de sortie alignée sur l'octet que vous choisissez
- Hachez du texte UTF-8 ou collez des octets hexadécimaux bruts avec un bouton en un clic
- L'empreinte se met à jour en direct au fil de la frappe et se copie en un seul clic
- Affiche la longueur de l'empreinte en bits pour confirmer la bonne variante
- Erreur claire lorsque l'hexadécimal collé a une longueur impaire ou de mauvais caractères
- S'exécute entièrement dans votre navigateur — rien de ce que vous hachez n'est téléversé
Comment utiliser Hash SHA-3 et Keccak
- Choisissez un algorithme — SHA3-256, Keccak-256, SHAKE256, et plus
- Choisissez UTF-8 pour hacher du texte ou Hex pour hacher des octets bruts
- Tapez ou collez votre entrée ; l'empreinte apparaît instantanément
- Pour SHAKE, définissez la longueur de sortie en bits, puis copiez l'empreinte hexadécimale
Exemple
Entrée
algorithm: Keccak-256
input: "" (empty string)
Sortie
c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
Le hash Keccak-256 de la chaîne vide sur lequel l'outillage Ethereum s'appuie partout.
Erreurs courantes et dépannage
- SHA3-256 et Keccak-256 donnent des résultats différents pour le même texte. — C'est normal — ils utilisent un remplissage différent. Utilisez Keccak-256 pour Ethereum et le keccak256 de Solidity ; utilisez SHA3-256 pour le hash standard du NIST.
- Le mode hexadécimal signale un nombre impair de chiffres. — Chaque octet fait deux caractères hexadécimaux, donc l'entrée doit avoir une longueur paire. Retirez tout demi-octet égaré ou caractère non hexadécimal et réessayez.
- Une empreinte SHAKE est plus longue ou plus courte que prévu. — La longueur SHAKE se définit en bits, pas en octets — 256 bits font 64 caractères hexadécimaux. Assurez-vous que la longueur est un multiple positif de 8.
- L'empreinte ne correspond pas à ma sortie keccak256 en Solidity. — Solidity hache les octets bruts de la valeur encodée en ABI. Passez en mode Hex et collez ces octets exacts plutôt que le texte lisible.
Foire aux questions
- Quelle est la différence entre SHA-3 et Keccak-256 ?
- Ils exécutent la même éponge Keccak mais ajoutent un octet de séparation de domaine différent avant le remplissage (0x06 pour SHA-3, 0x01 pour Keccak). Cette seule différence rend leurs empreintes complètement différentes, si bien qu'une valeur hachée avec SHA3-256 ne sera jamais égale à la même valeur hachée avec Keccak-256.
- Pourquoi Ethereum utilise-t-il Keccak-256 plutôt que SHA3-256 ?
- Ethereum a adopté Keccak-256 depuis la soumission Keccak d'origine avant que le NIST ne finalise SHA-3 avec un remplissage légèrement différent. Pour rester compatibles, Ethereum et le keccak256 de Solidity ont conservé la variante d'origine, c'est pourquoi les adresses et les sélecteurs de fonction reposent sur Keccak-256.
- Que sont SHAKE128 et SHAKE256 ?
- Ce sont des fonctions à sortie extensible (XOF) : au lieu d'une taille fixe, vous choisissez combien de bits d'empreinte vous voulez. Le 128 et le 256 désignent leur niveau de sécurité, pas la longueur de sortie, vous pouvez donc demander 128, 256, 512 bits ou plus à l'une comme à l'autre.
- Comment hacher des octets bruts pour correspondre à un appel keccak256 sur des données encodées en ABI ?
- Basculez le sélecteur d'entrée sur Hex et collez les octets en hexadécimal — un préfixe 0x optionnel et des espaces sont acceptés. L'outil hache ces octets exacts plutôt que leur texte UTF-8, ce qu'attend un keccak256 de Solidity sur des données encodées.
- SHA-3 est-il simplement une version plus rapide ou plus sûre de SHA-256 ?
- Non. SHA-3 repose sur une conception totalement différente — une éponge Keccak plutôt que la construction de Merkle–Damgård derrière SHA-256 — choisie comme alternative standardisée. À taille d'empreinte égale, ils offrent une résistance aux collisions comparable, et leurs sorties sont entièrement différentes, donc SHA-3 n'est pas un remplacement direct.
- Quelle longueur de sortie choisir pour SHAKE ?
- Alignez-vous sur ce que demande la spécification que vous implémentez. Une valeur par défaut courante est 256 bits pour SHAKE128 et 512 bits pour SHAKE256, mais tout multiple positif de 8 bits fonctionne — cet outil renseigne ces valeurs par défaut et vous laisse les remplacer.
Outils associés
Tous les outils ArrayKit