ハッシュ生成
テキストやファイルから SHA-1 / SHA-256 / SHA-384 / SHA-512 のハッシュ値を同時に生成。16進(大文字・小文字)と Base64 表示、期待値との照合に対応。ファイルは読み込むだけでアップロードしません。すべてブラウザ上で動作。
値を貼り付けると、一致する方式に「一致」バッジを表示します。
使い方・詳細情報
このツールの使い方
- 「テキスト」タブにテキストを入力するか、「ファイル」タブでファイルを選びます
- SHA-1 / SHA-256 / SHA-384 / SHA-512 のハッシュ値が同時に表示されます
- 「表示形式」で 16進(小文字・大文字)と Base64 を切り替えられます
- 各行の「コピー」ボタンでクリップボードにコピーできます
- 配布元のチェックサムを照合欄に貼り付けると、一致した方式に「一致」バッジが付きます
ハッシュ値とは
ハッシュ値は、入力データから計算される固定長の値です。同じ入力からは必ず同じ値が得られ、1バイトでも違えばまったく別の値になります。この性質を利用して、ファイルが壊れていないか・改ざんされていないかの確認(チェックサム照合)、データの同一性の確認、キャッシュキーの生成などに使われます。
ハッシュ値から元のデータを復元することはできません(不可逆)。暗号化とは別のものです。
パスワードの保存には使わないでください。このツールが出力する生の SHA 値はソルトも計算コストも持たないため、保存データが漏えいした場合に総当たり・辞書攻撃で短時間に破られます。パスワードの保存には Argon2id・bcrypt・scrypt・PBKDF2 といったパスワード専用のアルゴリズム(KDF)を使ってください。
方式の選び方
| 方式 | 長さ | 用途 |
|---|---|---|
| SHA-256 | 64桁(256ビット) | 迷ったらこれ。チェックサム照合・署名・一般的な用途で最も広く使われています |
| SHA-384 / SHA-512 | 96桁 / 128桁 | より長い出力が必要な場合。64ビット環境では SHA-256 より高速なこともあります |
| SHA-1 | 40桁(160ビット) | 古いシステムとの互換目的のみ。衝突(異なるデータから同じ値を作ること)が現実的に可能なため、署名・改ざん検知には使わないでください |
MD5 に対応していない理由
このツールはブラウザ標準の Web Crypto API(crypto.subtle.digest)でハッシュを計算しています。この API は SHA-1 / SHA-256 / SHA-384 / SHA-512 のみを提供しており、MD5 は含まれていません。安全でない方式として意図的に除外されているためです。
MD5 は衝突攻撃が確立しており、改ざん検知の用途には使えません。古い配布物のチェックサムが MD5 しかない場合は、可能であれば配布元に SHA-256 の提示を求めることをおすすめします。
照合欄の使い方
- 16進表記・Base64 表記のどちらを貼り付けても照合します
- 16進は大文字・小文字の違いを無視します。値の前後の空白、途中の空白・コロン(
ab:cd:ef形式)も無視します - ファイル名やコマンドの出力(
abc123... filename.zipのような形式)を貼り付けた場合は、ハッシュ値の部分だけを取り出して照合します - どの方式とも一致しない場合は、その旨を表示します
仕様
- すべてブラウザ上で動作します(入力したテキスト・選択したファイルはサーバーに送信されません)
- テキストは UTF-8 でエンコードしてからハッシュ化します。8MB を超えるテキストは受け付けません(それ以上はファイルとして選んでください)
- ファイルはブラウザのメモリに読み込んで計算するため、極端に大きなファイル(目安 512MB 超)は受け付けません
- 計算にはブラウザ標準の Web Crypto API を使用します。この API は HTTPS 接続(セキュアコンテキスト)でのみ利用できます
- ハッシュ値の表示は読み取り専用の入力欄で、HTML として解釈されることはありません