MD5ハッシュの用途と限界(なぜセキュリティ用途に非推奨なのか)
開発 セキュリティ
結論:30秒でMD5の注意点を知る
- 使用NG: パスワード保存、トークン生成、改ざん防止(衝突攻撃で解読・改ざん可能)
- 使用OK: キャッシュキー作成、ダウンロードファイルの破損チェック(非セキュリティ用途)
- 推奨: セキュリティ用途には SHA-256 または Argon2 / bcrypt を使用
1. オンライン MD5 ハッシュ生成ツール
入力テキストに対する 32 桁の 16 進数(128bit MD5 ハッシュ)をリアルタイムに生成します。
🔐 この場で文字列をMD5ハッシュ化する
※MD5は暗号学的に弱いため、新規のパスワードハッシュにはSHA-256を使用してください。
MD5
2. MD5 vs SHA-256 比較表
| 項目 | MD5 | SHA-256 |
|---|---|---|
| ハッシュ長 | 128 bit(32文字) | 256 bit(64文字) |
| 計算速度 | 極めて高速 | 高速 |
| 衝突耐性(Collision Resistance) | 破綻(意図的な衝突データを短時間で作成可能) | 極めて高い |
| 安全な用途 | ファイルの破損確認、キャッシュキー | 証明書、デジタル署名、API署名検証 |
3. MD5 を使ってよい場面・いけない場面
✅ 使用してよい場面(非セキュリティ用途)
- ファイルの簡易破損チェック: ダウンロードファイルが転送エラーで破損していないかの確認。
- キャッシュキーの生成: 長いリクエストパラメータや URL を 32 文字の固定長キーに圧縮。
- レガシー互換: 既存の古く変更できない仕様との通信。
❌ 絶対に使用してはいけない場面(セキュリティ用途)
- パスワードの保存: 高速計算が可能なため、ブルートフォースやレインボーテーブルで即座に突破されます。
- 認証トークン・セッション ID: 衝突・予測の危険性があります。
- 改ざん防止・デジタル署名: 同一ハッシュ値を持つ異なるファイルを意図的に作成できるため無効です。