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.