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