コンテンツへスキップ
uencoder

MD5

MD5 は Ronald Rivest が設計した 128 ビットの暗号学的ハッシュ関数である。衝突攻撃により安全性が崩れており、現在はチェックサムなどセキュリティを要しない用途に限られる。

目的

整合性チェックのための高速なメッセージダイジェストを提供する。ただし衝突攻撃により、セキュリティ目的にはもはや適さない。

メカニズム

入力を 512 ビットブロックで処理し、128 ビットの状態(4 個の 32 ビット語)を維持する。各ブロックは 4 ラウンド・64 ステップの非線形変換(F/G/H/I)で状態を更新する。最終的な 128 ビット状態を出力する。衝突は数秒で構成できる。

ユースケース

  • ファイルダウンロードのチェックサム(非セキュリティ用途)
  • ETagキャッシュキー
  • レガシーシステムのチェックサム(非セキュリティ用途)
  • ハッシュ原理の教材例

例

  • 入力
    hello
    Output
    5d41402abc4b2a76b9719d911017c592

    128 bits = 32 hex characters

よくあるエラー

Using MD5 to store passwords or make digital signatures
Use SHA-256 or bcrypt

関連用語

関連ツール

References