SHA-3・Keccak ハッシュ生成ツール

SHA3-224/256/384/512、Keccak-256/512、SHAKE128/256 のダイジェストを、テキストや 16 進バイトからブラウザ内で計算します。

SHA-3・Keccak ハッシュ生成ツールは完全にブラウザ内で動作します。ハッシュするテキストや 16 進バイトはデバイス上で処理され、ArrayKit にアップロードされることはありません。

SHA-256・SHA-1 ハッシュツールを開く

SHA-3・Keccak ハッシュ生成 について

SHA-3・Keccak ハッシュ生成ツールは、FIPS 202 ファミリー一式 — SHA3-224、SHA3-256、SHA3-384、SHA3-512 — に加え、オリジナルの Keccak-256 と Keccak-512、そして SHAKE128/SHAKE256 の拡張可能出力関数を計算します。UTF-8 テキストを入力するか、16 進モードに切り替えて生のバイトをハッシュすると、小文字のダイジェストが入力に合わせて更新されます。これらのアルゴリズムをめぐる日常的な混乱のために作られています:SHA3-256 と Keccak-256 は同一に見えますがパディングのバイトが 1 つ異なり、Ethereum は標準が確定する前に Keccak-256 を採用しました。Ethereum の関数セレクターの導出、Solidity の keccak256 結果の検証、SHA-3 チェックサムの確認、SHAKE の出力長の選択に使えます。すべてのダイジェストはブラウザ内で計算されるので、ハッシュする値はデバイス上に留まります。

機能

SHA-3・Keccak ハッシュ生成 の使い方

  1. アルゴリズムを選びます — SHA3-256、Keccak-256、SHAKE256 など
  2. テキストをハッシュするなら UTF-8、生のバイトなら Hex を選びます
  3. 入力を入力するか貼り付けると、ダイジェストが即座に表示されます
  4. SHAKE では出力長をビットで設定し、16 進ダイジェストをコピーします

入力

algorithm: Keccak-256
input: "" (empty string)

出力

c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470

Ethereum のツールがいたるところで頼りにする、空文字列の Keccak-256 ハッシュです。

よくあるエラーとトラブルシューティング

よくある質問

SHA-3 と Keccak-256 の違いは何ですか?
両者は同じ Keccak スポンジを走らせますが、パディングの前に異なるドメイン分離バイトを付けます(SHA-3 は 0x06、Keccak は 0x01)。その 1 つの違いでダイジェストは完全に別物になるので、SHA3-256 でハッシュした値が同じ値の Keccak-256 と一致することはありません。
Ethereum が SHA3-256 ではなく Keccak-256 を使うのはなぜですか?
Ethereum は、NIST がわずかに異なるパディングで SHA-3 を確定する前に、オリジナルの Keccak 提出版から Keccak-256 を採用しました。互換性を保つため、Ethereum と Solidity の keccak256 はオリジナルのバリアントを維持しており、そのためアドレスや関数セレクターは Keccak-256 の上に築かれています。
SHAKE128 と SHAKE256 とは何ですか?
これらは拡張可能出力関数(XOF)です:固定サイズではなく、ダイジェストを何ビット得るかを自分で選びます。128 と 256 は出力長ではなくセキュリティ強度を指すので、どちらからでも 128、256、512 ビット、あるいはそれ以上を要求できます。
ABI エンコードされたデータへの keccak256 呼び出しに一致させるには、生のバイトをどうハッシュしますか?
入力トグルを Hex に切り替え、バイトを 16 進で貼り付けます — 任意の 0x 接頭辞やスペースは問題ありません。ツールはその正確なバイトを、UTF-8 テキストではなくハッシュします。これは、エンコードされたデータに対する Solidity の keccak256 が期待するものです。
SHA-3 は SHA-256 の単に高速または安全な版ですか?
いいえ。SHA-3 はまったく異なる設計 — SHA-256 の基盤である Merkle–Damgård 構造ではなく Keccak スポンジ — で、標準化された代替として選ばれました。同じダイジェストサイズでは同等の衝突耐性を持ちますが、出力はまったく異なるため、SHA-3 は差し替え可能な代替品ではありません。
SHAKE の出力長はどれを選ぶべきですか?
実装している仕様が求めるものに合わせてください。よくある既定は SHAKE128 で 256 ビット、SHAKE256 で 512 ビットですが、8 の正の倍数であればどのビット数でも機能します — このツールはその既定を埋め、上書きも可能にします。

関連ツール

すべての ArrayKit ツール