İçeriğe geç
Toova
Tüm Araçlar

Keccak-256 Hash

Tasarımdan gizli — tamamen tarayıcınızda çalışır

Herhangi bir UTF-8 dizesini giriş kutusuna bırakın, 32 baytlık Keccak-256 digest’i okuyun. Bu, Ethereum’un her yerde kullandığı algoritmadır: EIP-55 checksum adresleri, function selector, storage slot türetimi, CREATE2 sözleşme adresleri.

Keccak-256 ve SHA3-256

Keccak-256, SHA3 olmadan önce Keccak’in NIST’e sunduğu algoritmadır. Son SHA3 standardı padding kuralını değiştirdi (multi-rate padding iki bit daha aldı), bu nedenle aynı girişin SHA3-256 ve Keccak-256 sonuçları farklıdır. Ethereum, on-chain hash’lerin Keccak-256 kullanan cüzdan, indeksleyici ve explorer’larla uyumlu kalması için orijinal Keccak’i korur.

Ethereum’da kullanım yerleri

Function selector’lar keccak256("transfer(address,uint256)") gibi kanonik imzaların ilk 4 byte’ıdır. Mapping storage slot’ları keccak256(abi.encode(key, slot)) ile türetilir. EIP-55, küçük harfli adresin keccak256’sine bakarak büyük/küçük harfleri karıştırır. CREATE2 sözleşme adresleri deployer, salt ve bytecode üzerinde keccak256’dır.

Uygulama nasıl çalışır

Sayfa, JavaScript ile küçük bir Keccak-f[1600] permütasyonu taşır. Web Crypto bunu sunmaz. Boş string için bilinen digest c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 ile karşılaştırarak doğrulayabilirsiniz. Giriş ve çıkış sekmeden çıkmaz.

Sıkça Sorulan Sorular

Keccak-256, SHA3-256 ile aynı mı?
Hayır. Keccak-256, Keccak’in NIST’e sunduğu sürümdür; SHA3-256 sonlandırmadan önce iki bit padding ekledi. Aynı giriş için farklı çıktı verir. Ethereum ve EVM orijinal Keccak-256’yı kullanır.
Ethereum’da nerede görünür?
Function selector’lar, storage slot türetimi, EIP-55 checksum’ları, CREATE2 deterministik adresleri ve 256-bit digest gerektiren çoğu imza şeması.
Uygulamayı nasıl doğrularım?
Boş dizgiyi hash’leyip c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 ile karşılaştırın. Herhangi bir fark padding veya algoritmanın yanlış olduğunu gösterir.
Aynı giriş için çıktı hep aynı mı?
Evet. Keccak-256 saf bir fonksiyondur. Aynı UTF-8 byte dizisi her zaman aynı 32 baytlık digest’i üretir.
Toova girdiyi kaydeder mi?
Hayır. Hash bu sekmede yerel olarak hesaplanır; dize ve digest sunucuya gitmez.
ABI encoding için kullanılabilir mi?
Function kanonik imzasının (transfer(address,uint256) gibi) Keccak-256’sini hesaplayın ve ilk 4 byte’ı alın — selector’lar tam olarak bu prefix’i bekler.