MD5
意味・解説
任意の長さのデータから128ビットのハッシュ値を生成するアルゴリズム。
データの改ざん検知などに使われるハッシュ関数の一種。同じデータからは常に同じ128ビット(32桁の16進数)の値が生成される。計算速度が非常に速いため、ダウンロードしたファイルが壊れていないかのチェックなどに用いられる。現在は安全性が低下しており、暗号学的用途での使用は推奨されない。
くわしく
データの「デジタル指紋」を高速に作成する計算式である。
1. 特徴:入力するデータがどんなに大きくても、出力される値は必ず固定の128ビット(約32文字)になる。また、データが1ビットでも変われば、出力される値は全く異なるものになるため、送られてきたデータが途中で書き換えられていないかを瞬時に判断できる。
2. 安全性の問題:異なるデータから同じハッシュ値が生成される「衝突」を意図的に引き起こせることが判明している。このため、電子署名やパスワードの暗号化など、高い安全性が求められる場面では、より強力な「SHA-256」などのアルゴリズムに取って代わられている。
3. 実務での残存:セキュリティ目的以外、例えば「ファイルがダウンロード中に破損していないか」といった整合性チェック用としては、その計算の軽さから今なお広く利用されている。開発現場では、古いシステムの互換性のために残っているケースも多い。
例文
ダウンロードしたOSのイメージファイルが正しく転送されたか確認するため、公開されているMD5の値と比較した。
分類: ハッシュ関数