SHA3-224 ハッシュ生成ツール
任意のテキストの SHA3-224 ハッシュをブラウザー内で即座に生成。入力は UTF-8・16進・Base64、出力は16進または Base64。無料で、アップロードなしのプライベート処理です。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
SHA3-224 ハッシュ生成ツールとは?
SHA3-224 は、Keccak スポンジ(SHA-2 とは異なる設計)に基づく、SHA-3 標準(FIPS 202、2015年)の224ビット固定長ハッシュです。このツールは、テキストまたは生のバイト列(16進または Base64)の224ビット SHA3-224 ダイジェストを入力に合わせて計算し、56文字の16進数または Base64 で表示します。
SHA3-224 ハッシュ生成ツールの使い方
- ハッシュ化するテキスト に入力を入力または貼り付けます。入力するたびにダイジェストが更新されます(空欄のときは空入力のハッシュが表示されます)。
- 入力エンコーディング を選びます。テキスト (UTF-8) は文字を UTF-8 としてハッシュ化し、16進数のバイト列 や Base64 はデコードした生のバイト列をハッシュ化します。
- 出力形式(16進の小文字、16進の大文字、Base64)を選び、コピー をクリックします。
例
abc
e642824c3f8cf24ad09234ee7d3c766fc9a3a5168d0c94ad73b46fdf
3バイトの ASCII 文字列「abc」の SHA3-224(UTF-8、16進の小文字で出力)で、標準のテストベクターです。
SHA3-224 ハッシュ生成ツールを使うべき場面
SHA3-224 テキストツールは、文字列のハッシュ化に使います。ドキュメントやコードにある値の再現、テストベクターの作成、API 署名の入力の比較、プログラムが出力すべき値の確認などに向いています。ダウンロードしたファイルの検証には向きません。ファイルの内容をテキストボックスにコピーすると改行コードやエンコーディングが変わってしまうため、その場合は SHA3-224 ファイルチェックサムツールを使ってください。Ethereum など、FIPS 202 より前の「SHA3」を名乗るソフトウェアを扱っている場合は、おそらく代わりに Keccak-224 が必要です。
SHA3-224 ハッシュ生成ツールの仕組み
SHA3-224 は、1600ビットの Keccak-f 置換(θ、ρ、π、χ、ι の24ラウンド)を用いたスポンジ構造です。入力は 1152 ビットのブロック(レート。キャパシティは 448 ビット)ごとに吸収され、SHA-3 のドメインサフィックス 01 に続けて pad10*1(バイトでは 0x06 … 0x80)でパディングされます。吸収後、状態の先頭 224 ビットが絞り出され、ダイジェストになります。サフィックスだけが元の Keccak-224 との違いですが、これによりすべての出力が変わります。テキストは最初にバイト列(既定では UTF-8)に変換されるため、同じ文字なら常に同じハッシュになります。
一般的な使用例
- ユニットテストやフィクスチャで、文字列に期待される SHA3-224 を確認する
- デバッガー、パケットキャプチャ、プロトコル仕様からコピーした16進バイト列をハッシュ化する
- 結果が食い違う2つのプログラミング言語の SHA3-224 出力を比較する
- テキストから決定的な識別子やキャッシュキーを生成する
- ヘッダーや設定ファイル用に、SHA3-224 ダイジェストの Base64 形式を取得する
セキュリティ注意事項
SHA3-224 に対する実用的な攻撃は知られていません。また、素のハッシュはパスワードの保存にも向いていません。Argon2、scrypt、bcrypt のような、低速でソルト付きのパスワードハッシュを使ってください。すべての処理はブラウザー内で行われ、入力した内容がどこかに送信されることはありません。
よくある質問
SHA3-224 が Ethereum や古いライブラリの結果と一致しないのはなぜですか?
Ethereum や一部の古いライブラリは、FIPS 202 のサフィックス 0x06 ではなく 0x01 でパディングする、元の Keccak 提案版を使っています。出力はまったく異なります。そうした値には Keccak-224 ツールを使ってください。
SHA3-224 は SHA-224 より優れていますか?
どちらも安全です。SHA-3 は異なる構造(スポンジ)なので、SHA-2 が将来弱体化した場合の多様性を確保でき、長さ拡張攻撃も受けません。SHA-2 はソフトウェアでは高速で、より広く普及しています。
1文字変えただけでハッシュが大きく変わるのはなぜですか?
すべての暗号学的ハッシュが備えるように設計されたアバランシェ効果によるものです。入力の1ビットを反転すると、224ビットの出力のおよそ半分が変わるため、似た入力でも無関係なダイジェストになります。
末尾のスペースや改行は影響しますか?
はい。ハッシュはすべてのバイトを対象にするため、abc と、abc の後ろに改行が付いたものでは SHA3-224 の値が異なります。入力に、ハッシュ化したいバイトだけが含まれていることを確認してください。