Plus de jeux sur WuGames.ioSponsoriséDécouvrez des jeux de navigateur gratuits — jouez aussitôt, sans téléchargement ni inscription.Jouer

Générateur de Hachage Keccak / SHA3

Outil keccak256 en ligne gratuit : calculez les sélecteurs de fonction 4 octets, les hachages topic0 d'événements et les adresses checksum EIP-55. Keccak/SHA3.

clearClearpastePaste
Hachez plusieurs entrées à la fois — collez une chaîne par ligne et obtenez un tableau comparatif

Qu'est-ce que le Générateur de Hachage Keccak / SHA3 ?

Le Générateur de Hachage Keccak / SHA3 est un outil en ligne gratuit pour générer des hachages cryptographiques utilisant les algorithmes Keccak et SHA3. Keccak-256 est la fonction de hachage utilisée par Ethereum pour les adresses, les ID de transaction et les fonctions de smart contracts. SHA3 est la version standardisée par le NIST avec de légères modifications.

Cet outil prend en charge les entrées texte et hexadécimales, et inclut un panneau d'assistants Solidity/EVM qui dérive le sélecteur de fonction 4 octets, le topic0 d'événement 32 octets et l'adresse checksum EIP-55 directement depuis Keccak-256, ce qui le rend parfait pour les développeurs blockchain, les auditeurs de smart contracts et les passionnés de cryptomonnaie. Voir aussi notre <a href="/fr/blockchain/convertisseur-unites-ethereum">Convertisseur d'Unités Ethereum</a>, Générateur Hash SHA-512 et Générateur Hash SHA-256.

Algorithmes de hachage disponibles

AlgorithmeTaille de sortieCas d'utilisation
Keccak-256256 bits (32 octets)Adresses Ethereum, hachages de transaction, sélecteurs de fonction
Keccak-512512 bits (64 octets)Applications haute sécurité, cryptographie avancée
SHA3-256256 bits (32 octets)Standard NIST, hachage cryptographique général
SHA3-512512 bits (64 octets)Standard NIST, hachage de sécurité maximale

Quelle est la différence entre Keccak et SHA3 ?

Keccak a remporté le concours SHA3 en 2012, mais le NIST a apporté de légères modifications avant de le standardiser en tant que SHA3 en 2015. Ethereum utilise l'algorithme Keccak original (pré-NIST), pas le SHA3 standardisé. Cela signifie que keccak256('') ≠ sha3_256('') bien que les deux soient des hachages de 256 bits. Utilisez toujours Keccak-256 pour le développement Ethereum.

Pourquoi Ethereum utilise-t-il Keccak-256 ?

Ethereum a choisi Keccak-256 avant que SHA3 ne soit finalisé par le NIST. Il est utilisé pour : générer des adresses de contrat à partir de l'adresse du déployeur et du nonce, créer des ID de transaction, hacher les signatures de fonctions (les 4 premiers octets deviennent le sélecteur de fonction) et dériver les emplacements de slots de stockage dans les smart contracts.

Quand dois-je utiliser le mode d'entrée hex ?

Utilisez l'entrée hex lors du hachage de données binaires comme le bytecode, les appels de fonctions encodés ou les données de transaction brutes. L'outil convertit les chaînes hex en tableaux d'octets avant le hachage. Par exemple, hacher '0x1234' hachera les octets [0x12, 0x34], pas les caractères de texte '0x1234'.

Comment vérifier les adresses Ethereum ?

Pour dériver une adresse Ethereum : 1) Prenez la clé publique (64 octets, excluant le préfixe 0x04), 2) Hachez-la avec Keccak-256, 3) Prenez les 20 derniers octets (40 caractères hex), 4) Ajoutez le préfixe '0x'. Le résultat est l'adresse Ethereum. Cet outil peut calculer l'étape 2.

Générateur de Hachage Keccak / SHA3 — Outil keccak256 en ligne gratuit : calculez les sélecteurs de fonction 4 octets, les hachages topic0 d'événements et les
Générateur de Hachage Keccak / SHA3

Comment une adresse checksum à casse mixte EIP-55 est-elle dérivée ?

EIP-55 ajoute un checksum résistant aux fautes de frappe à une adresse Ethereum de 20 octets en mélangeant majuscules et minuscules. Prenez les 40 caractères hex en minuscule de l'adresse (sans 0x), calculez keccak256 de cette chaîne ASCII en minuscule, puis pour chaque caractère de l'adresse qui est une lettre (a-f), mettez-le en majuscule lorsque le nibble hex correspondant du hash est égal ou supérieur à 8 ; les chiffres (0-9) restent inchangés. Par exemple, l'adresse 0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed devient 0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed. C'est exactement ce que calcule le panneau d'assistants Solidity/EVM pour toute adresse de 40 hex (ou une clé publique non compressée de 128 hex, d'abord hachée avec keccak256 puis réduite à ses 20 derniers octets).

Comment calculer un sélecteur de fonction 4 octets et un topic0 d'événement ?

Un sélecteur de fonction correspond aux 4 premiers octets de keccak256 de la signature canonique (types uniquement, sans espaces ni noms d'arguments). Par exemple, keccak256('transfer(address,uint256)') = 0xa9059cbb..., donc le sélecteur est 0xa9059cbb — le préfixe de 4 octets du calldata de transfer en ERC-20. Un topic0 d'événement est le keccak256 complet de 32 octets de la signature de l'événement : keccak256('Transfer(address,address,uint256)') = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, le topic indexé que les logs Ethereum utilisent pour filtrer les événements Transfer ERC-20. Saisissez la signature en mode Keccak-256 individuel et le panneau affiche les deux instantanément.

Quelle est la différence exacte entre le padding de Keccak et SHA3 ?

Les deux utilisent la même permutation sponge Keccak-f[1600] ; la seule différence est l'octet de séparation de domaine ajouté lors du padding. Le Keccak original (utilisé par Ethereum) ajoute le motif de bits 0x01 puis complète avec 0x80 (pad10*1), tandis que SHA3 du NIST ajoute 0x06 (les deux bits supplémentaires 01 distinguent SHA3 de SHAKE et des autres instances Keccak) avant le même pad10*1. Cet unique octet de padding explique pourquoi keccak256('') = c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 mais sha3_256('') = a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a — permutation identique, padding différent. Choisissez toujours Keccak-256 pour tout travail Ethereum/Solidity.

Est-il sûr d'utiliser cet outil ?

Oui ! Tout le hachage, la dérivation des sélecteurs/topics et le calcul du checksum EIP-55 se produisent entièrement dans votre navigateur en utilisant la bibliothèque JavaScript js-sha3. Aucune donnée n'est envoyée à un serveur. Cependant, ne hachez jamais de clés privées ou de secrets sensibles dans un outil en ligne - utilisez toujours des outils hors ligne et audités pour les opérations cryptographiques sensibles.

Cas d'utilisation courants

  • Développement de Smart Contracts : Générer des sélecteurs de fonction (4 premiers octets du hachage keccak256 de la signature de fonction)
  • Vérification d'Adresse Ethereum : Calculer le hachage Keccak-256 des clés publiques pour dériver les adresses
  • Analyse de Transaction : Hacher les données de transaction pour vérifier les ID de transaction
  • Génération de Signature d'Événement : Créer des hachages de topic d'événement pour les logs Ethereum
  • Calcul de Slot de Stockage : Déterminer les emplacements de stockage dans les mappings et tableaux Solidity
  • Intégrité des Données : Vérifier l'intégrité des fichiers en utilisant les hachages standard SHA3 NIST
  • Métadonnées NFT : Hacher les métadonnées pour créer des identifiants uniques pour les NFT
  • Construction d'Arbre de Merkle : Générer des hachages de feuilles et de nœuds pour les preuves de Merkle