Zum Inhalt springen
Toova
Alle Werkzeuge

Keccak-256-Hash

Datenschutz by Design — läuft vollständig in Ihrem Browser

Fügen Sie einen beliebigen UTF-8-Text in das Eingabefeld ein und sehen Sie den 32 Byte langen Keccak-256-Digest. Genau das ist der Algorithmus, den Ethereum überall nutzt: EIP-55-Checksum-Adressen, Function Selectors, Ableitung von Storage Slots und Contract-Adressen via CREATE2.

Keccak-256 vs. SHA3-256

Keccak-256 war Keccaks Einreichung beim NIST, bevor sie zum SHA3 wurde. Der finale SHA3-Standard änderte die Padding-Regel (Multi-Rate-Padding bekam zwei zusätzliche Bits), deshalb unterscheiden sich SHA3-256 und Keccak-256 desselben Inputs. Ethereum hielt am ursprünglichen Keccak fest, damit On-Chain-Hashes zu Wallets, Indexern und Explorern passen, die alle Keccak-256 verwenden.

Wo Ethereum ihn einsetzt

Function Selectors sind die ersten 4 Bytes von keccak256("transfer(address,uint256)") und vergleichbaren kanonischen Signaturen. Storage Slots für Mappings leiten sich aus keccak256(abi.encode(key, slot)) ab. EIP-55 mischt die Groß-/Kleinschreibung anhand des Keccak-256 der Kleinbuchstaben-Adresse. Contract-Adressen aus CREATE2 entstehen aus Keccak-256 über Deployer, Salt und Bytecode.

Wie die Implementierung läuft

Die Seite liefert eine schlanke Keccak-f[1600]-Permutation in JavaScript mit; Web Crypto kennt sie nicht. Sie können sie prüfen, indem Sie mit dem bekannten Leerstring-Digest c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 vergleichen. Eingaben und Ausgaben verlassen den Tab nicht.

Häufig gestellte Fragen

Ist Keccak-256 dasselbe wie SHA3-256?
Nein. Keccak-256 ist die NIST-Einreichung; SHA3-256 ergänzte vor der Finalisierung zwei Padding-Bits. Gleicher Input, anderer Output. Ethereum und EVM nutzen das originale Keccak-256.
Wo taucht er in Ethereum auf?
In Function Selectors, der Ableitung von Storage Slots, EIP-55-Checksum-Adressen, deterministischen Adressen aus CREATE2 und den meisten Signaturschemas mit 256-Bit-Digest.
Wie verifiziere ich die Implementierung?
Hashen Sie den leeren String und vergleichen Sie mit c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470. Jede Abweichung deutet auf falsches Padding oder einen anderen Algorithmus hin.
Ist die Ausgabe für denselben Input deterministisch?
Ja. Keccak-256 ist eine reine Funktion. Dieselbe UTF-8-Byte-Folge liefert immer denselben 32-Byte-Digest, unabhängig vom Browser oder Lauf.
Speichert Toova den Input?
Nein. Der Hash wird lokal in diesem Tab gerechnet. String und Digest reisen nicht zu einem Server.
Kann ich das für ABI-Encoding nutzen?
Bilden Sie Keccak-256 über die kanonische Funktionssignatur, z. B. transfer(address,uint256), genau wie es Selectors erwarten, und übernehmen Sie die ersten 4 Bytes.