Keccak-256ハッシュ生成ツール

イーサリアム・Solidityで使うKeccak-256をオンライン生成。テキストまたはhexバイトをハッシュし、4バイトセレクタとイベントトピックを取得、結果をワンクリックでコピー。

入力

25バイト入力に応じてハッシュが更新されます

例

出力

Keccak-256

32バイト · イーサリアムとSolidityのkeccak256()で使用

0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b

関数セレクタ

先頭4バイト — コールデータ内の関数を識別

0xa9059cbb

イベントトピック

完全なハッシュ — イベント署名時のログのtopic[0]

0xa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b

SHA3-256(比較)

NIST標準のSHA-3はパディングが異なり、別の結果になります。イーサリアムは上のKeccak-256を使用します。

0x4b40e901eada9ab2d6dfa2a4e5f5088af21b56bb877126cc83f68849c4aa9609

ハッシュの意味

32バイトのフィンガープリント。先頭4バイトが関数セレクタ、イベント署名のフルハッシュが topic[0] です。Solidity の keccak256() と同じ方式です。

計算方法

UTF-8 または hex バイト → Keccak-256(Ethereum パディング)。セレクタ = 先頭4バイト。NIST SHA3-256 は別パディングです。

計算例

  1. ERC-20 transfer セレクタ

    transfer(address,uint256)

    → 0xa9059cbb。

    calldata の transfer 呼び出しを識別します。

  2. approve セレクタ

    approve(address,uint256)

    → 0x095ea7b3。

    spender 承認でよく使われます。

  3. テキストと hex

    hello world と 0xdeadbeef。

    空文字列のハッシュは固定値(c5d24601…)。

    署名はテキスト、生バイトは hex モード。

よくある質問

Keccak-256 の用途は?
EVM、アドレス、セレクタ、イベント、Solidity。
Keccak と SHA3 の違い?
パディングが異なり、Ethereum は Keccak を使用。
関数セレクタの求め方?
canonical 署名を Keccak し先頭4バイト。
イベント topic とは?
イベント署名の Keccak-256 が topic[0]。
サーバーに送信される?
いいえ。ブラウザ内のみ。
署名のスペースは?
canonical 形式(スペースなし)が正しいです。

関連ツール

使い方

  • テキスト(UTF-8)またはHex(生バイト)を入力すると、入力に応じてハッシュが更新されます。
  • transfer(address,uint256) などの関数・イベント署名を入れると、4バイトセレクタとイベントトピックも表示されます。
  • 監査済みKeccak実装でブラウザ内のみ処理され、入力は端末外に送信されません。

教育目的のみです — 金融アドバイスではありません。過去の実績は将来の結果を保証しません。