文字列のハッシュ値計算 (SHA-256 など)
入力した文字列やテキストから SHA-256・SHA-384・SHA-512・SHA-1 のハッシュ値を即時に計算します。ブラウザ標準の Web Crypto API を使い、処理はブラウザ内で完結します。
-
使い方
- 上の欄に文字列やテキストを入力すると、選択したアルゴリズムでのハッシュ値 (16進数表記) が自動的に表示されます。
- 「アルゴリズム」のプルダウンで SHA-256・SHA-384・SHA-512・SHA-1 を切り替えられます。特別な理由がなければ SHA-256 を使ってください。
- 入力は UTF-8 のバイト列に変換してからハッシュ化するため、日本語を含む文字列でも正しく計算できます。全角・半角や改行コードの違いでハッシュ値が変わる点に注意してください。
計算の根拠
ハッシュ関数は、任意の長さの入力データから固定長の値 (ハッシュ値、メッセージダイジェスト) を生成する一方向の計算です。同じ入力からは常に同じハッシュ値が得られますが、ハッシュ値から元の入力を逆算することは計算上困難です。このツールが使う SHA-256・SHA-384・SHA-512・SHA-1 は、米国国立標準技術研究所 (NIST) が定める連邦情報処理規格 FIPS PUB 180-4, Secure Hash Standard (SHS) で規定されたアルゴリズムです。SHA-256 は 256bit (32バイト、16進数で64文字)、SHA-384 は 384bit、SHA-512 は 512bit のハッシュ値を出力します。SHA-1 (160bit) は、異なる入力から同じハッシュ値が生成される「衝突」を実用的な計算量で起こせることが研究で示されており、FIPS 180-4 自身もディジタル署名生成など新規用途への使用を推奨していません。このツールの計算は、ブラウザに標準搭載された Web Crypto API の SubtleCrypto.digest() (W3C 勧告) を呼び出すことで行われ、JavaScript でハッシュ計算アルゴリズムを独自実装していません。
よくある用途
| 場面 | 使い方 |
|---|---|
| ダウンロードファイルの検証 | 配布元が公開する SHA-256 チェックサムと、手元で計算したハッシュ値を比較して改変・破損がないか確認する |
| パスワードの平文比較の回避 | 「同じ文字列かどうか」をハッシュ値同士の比較で確認する (実際のパスワード保存にはソルト付きの専用アルゴリズムが別途必要) |
| Git のコミット識別 | Git は SHA-1 (新しいバージョンでは SHA-256 も選択可) でコミット内容を識別する仕組みを採用している |
| データの重複検出 | 大きなテキストやファイルの内容が同一かどうかを、内容そのものを比較せずハッシュ値で簡易的に判定する |
入力した文字列はサーバーに送信されず、このページを閉じると消えます。