この質問はばかげているように聞こえるかもしれませんが、コンピューター言語サイトをナビゲートしているときに、通常、括弧内または言語のダウンロード リンクの横に MD5 値が書かれています。
なぜ MD5 が提供されたのですか? そこでの使用は何ですか?ダウンロードプロセスに役立ちますか? そこに与えられた値の MD5 はどれですか? リリース バージョンの MD5 値はありますか。
そのような:
なぜそうなのですか?
md5 は厳密には暗号化ではありません。これはメッセージ ダイジェスト(「ハッシュ」) アルゴリズムです。可逆的ではありません。これは、ファイルの指紋と考えてください。他のアルゴリズムも利用可能です: SHA-1、SHA-256 など、いくつかの一般的なオプションを挙げることができます。
明らかに、すべてのハッシュ アルゴリズムは衝突に対して脆弱です (ハッシュ値の数は有限ですが、入力ドキュメントの数は無限です)。「誤って」衝突する可能性は低いですが、10 年ほど前から、オリジナルと同じ md5 ハッシュを持つ偽のドキュメントを偽造できることが証明されています。実際、md5 の場合、これはさらに最悪です。「偽の」ドキュメントのプレフィックスを選択し、その末尾に「魔法のゴミ」を追加して、「偽の」アーカイブを生成することができるからです。オリジナルと同じ md5 ハッシュ。
現在、md5 の主な用途は、ドキュメントの整合性をダウンロード エラーに対してチェックすることです。それ以上ではありません。
悪意のあるテンパリングから保護するために使用するべきではありません。