MD5(Message-Digest Algorithm 5)は、任意のデータから128ビット(16バイト)のハッシュ値を生成するハッシュ関数です。 主にデータの整合性チェックに使用されます。
MD5は、同じ入力に対して常に同じハッシュ値を生成します。しかし、わずかに異なる入力に対しては、 全く異なるハッシュ値を生成します。これは「雪崩効果」と呼ばれる特性です。
セキュリティの観点からは、MD5は現在では暗号化目的には推奨されていません。 衝突攻撃(異なる入力から同じハッシュ値を生成する)が可能であることが証明されているためです。 しかし、データの整合性チェックなど、非セキュリティ目的では依然として広く使用されています。
例えば、「Hello, World!」という文字列のMD5ハッシュ値は
65a8e27d8879283831b664bd8b7f0ad4
となります。
Linuxでは、md5sum
コマンドを使用してMD5ハッシュを生成することができます。
テキストからハッシュを生成する例:
echo -n "Hello, World!" | md5sum
結果: 65a8e27d8879283831b664bd8b7f0ad4 -
ファイルのハッシュを生成する例:
md5sum ファイル名
結果: ハッシュ値 ファイル名
複数のファイルのハッシュを一度に生成する例:
md5sum ファイル1 ファイル2 ファイル3
ハッシュ値を検証する例:
md5sum -c ハッシュリストファイル
※ハッシュリストファイルは「ハッシュ値 ファイル名」の形式で記述されています。