テキストからMD5・SHA-1・SHA-256・SHA-512ハッシュを生成
テキストのハッシュ値(MD5・SHA-1・SHA-256・SHA-512)を生成する無料ツールです。ファイルの整合性チェック、パスワードのハッシュ化確認、データの一意性検証などに使います。
MD5は高速ですが衝突耐性が低く、セキュリティ用途には推奨されません。SHA-256は現在最も広く使われており、ブロックチェーンやSSL証明書にも使用されています。SHA-512はより長いハッシュ値を生成し、高いセキュリティが求められる場面に適しています。
ダウンロードしたファイルが改ざんされていないかをチェックサムで検証する、APIのリクエスト署名を生成する、パスワードをハッシュ化して保存する(※本番環境ではbcrypt等の専用ライブラリを推奨)などの場面で使われています。
ハッシュ関数とは、任意の長さの入力データから、決まった長さの値(ハッシュ値)を生成する一方向の計算処理です。たとえば1文字のテキストでも、数百万文字の文書でも、SHA-256なら必ず256ビット(16進数64文字)の値に変換されます。この性質により、データの大小にかかわらず一定の形式で「指紋」のように扱えます。
ハッシュ関数には重要な性質が3つあります。第一に、同じ入力からは何度計算しても常に同じハッシュ値が得られる「決定性」です。第二に、入力がわずか1文字でも違えば、出力されるハッシュ値は規則性なく全く異なるものになる「雪崩効果」です。第三に、ハッシュ値から元の入力データを計算して復元することはできない「不可逆性(一方向性)」です。このため、暗号化のように元に戻すことを前提とした処理とは根本的に異なります。
この不可逆性こそがハッシュ関数の核心です。元データに戻せないからこそ、パスワードの保存や改ざん検知に利用されます。手元のデータと相手のデータのハッシュ値が一致すれば、両者が同一であると高い確度で判断でき、一致しなければどこかが書き換えられたと分かります。
| アルゴリズム | 出力ビット長 | 16進文字数 | 主な用途 | 安全性 |
|---|---|---|---|---|
| MD5 | 128 bit | 32文字 | 簡易チェックサム・旧来の照合 | 衝突が発見済み・暗号用途は非推奨 |
| SHA-1 | 160 bit | 40文字 | 旧来の署名・Git内部識別 | 衝突が実証済み・新規利用は非推奨 |
| SHA-256 | 256 bit | 64文字 | SSL証明書・ブロックチェーン・改ざん検知 | 現在の標準として推奨 |
| SHA-512 | 512 bit | 128文字 | 高セキュリティ用途・長いダイジェスト | 推奨(SHA-2系列) |
本ツールでは、SHA-1・SHA-256・SHA-512はブラウザ標準のWeb Crypto API(crypto.subtle.digest)を用いて正確に計算しています。MD5・SHA-1は理論的・実証的に衝突(異なる入力が同じハッシュ値になる現象)が見つかっているため、署名や改ざん検知などのセキュリティ用途ではSHA-256以上の利用を推奨します。