クラスター C6: エンコードとハッシュ
ハッシュ関数比較: MD5 vs SHA-256 vs SHA-512
ハッシュ選定は慣習ではなく要件で決めるべきです。互換性確認なのか、セキュリティ判断なのかを最初に分けます。
整合性確認とセキュリティ用途を分ける
ダウンロード検証やキャッシュ指紋では互換性と速度が重視されますが、セキュリティ用途では衝突耐性が前提になります。
MD5 が旧環境で残っていても、新しい安全設計の標準にはできません。
実務上の選び方
- 現代的な既定値はまず SHA-256。
- より長いダイジェスト幅が求められるなら SHA-512。
- MD5 はリスクを理解したうえでのレガシー互換専用。真正性が必要なら HMAC や署名を組み合わせる。
実用的な入出力例
入力
配布アーティファクト + 期待ダイジェスト 目的: ダウンロード後の整合性確認
出力
SHA-256 / SHA-512 を計算 一致 / 不一致を判断