Lewati ke konten
Toova
Semua Alat

Hash Keccak-256

Privasi sejak awal — berjalan sepenuhnya di peramban Anda

Letakkan string UTF-8 apa pun di kotak input dan baca digest Keccak-256 sepanjang 32 byte. Inilah algoritma yang Ethereum pakai di banyak tempat: alamat checksum EIP-55, selector fungsi, penurunan storage slot, dan alamat kontrak via CREATE2.

Keccak-256 versus SHA3-256

Keccak-256 adalah pengajuan Keccak ke NIST sebelum menjadi SHA3. Standar SHA3 final mengubah aturan padding (multi-rate padding mendapat dua bit ekstra) sehingga SHA3-256 dan Keccak-256 untuk input yang sama berbeda. Ethereum mempertahankan Keccak asli agar hash di on-chain cocok dengan wallet, indexer, dan eksplorer yang juga memakai Keccak-256.

Di mana Ethereum memakainya

Selector fungsi adalah 4 byte pertama dari keccak256("transfer(address,uint256)") dan signature kanonis serupa. Storage slot untuk mapping berasal dari keccak256(abi.encode(key, slot)). EIP-55 mencampur huruf besar/kecil berdasarkan keccak256 dari alamat huruf kecil. Alamat kontrak CREATE2 adalah keccak256 atas deployer, salt, dan bytecode.

Cara implementasi berjalan

Halaman ini membawa permutasi Keccak-f[1600] kompak dalam JavaScript. Web Crypto tidak menyediakannya. Anda bisa memverifikasinya dengan membandingkan terhadap digest string kosong yang sudah dikenal c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470. Input dan output tidak keluar dari tab.

Pertanyaan yang Sering Diajukan

Apakah Keccak-256 sama dengan SHA3-256?
Tidak. Keccak-256 adalah yang dikirim Keccak ke NIST; SHA3-256 menambahkan dua bit padding sebelum finalisasi. Input sama, output berbeda. Ethereum dan EVM memakai Keccak-256 asli.
Di mana ia muncul di Ethereum?
Di selector fungsi, penurunan storage slot, checksum EIP-55, alamat deterministik CREATE2, serta sebagian besar skema penandatanganan yang butuh digest 256 bit.
Bagaimana memverifikasi implementasinya?
Hash string kosong dan bandingkan dengan c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470. Setiap perbedaan menandakan padding atau algoritma yang salah.
Apakah outputnya deterministik untuk input yang sama?
Ya. Keccak-256 adalah fungsi murni. Urutan byte UTF-8 yang sama selalu menghasilkan digest 32 byte yang sama, terlepas dari peramban atau sesi.
Apakah Toova mencatat input saya?
Tidak. Hash dihitung secara lokal di tab ini. String dan digest tidak pernah menuju server.
Bisa untuk ABI encoding?
Hash Keccak-256 atas signature kanonis fungsi seperti transfer(address,uint256) — persis prefix 4 byte yang diharapkan selector — lalu ambil 4 byte pertama hasilnya.