| 原作者 | ウルリッヒ・ドレッパー、スコット・ミラー、デヴィッド・マドール[1] |
|---|---|
| オペレーティング·システム | UnixおよびUnixライク |
| プラットフォーム | クロスプラットフォーム |
| タイプ | 指示 |
| ライセンス | coreutils : GNU GPL v3 |
md5sum は、RFC 1321 で説明されているように、 128 ビットのMD5ハッシュを計算して検証するコンピュータ プログラムです。MD5 ハッシュは、ファイルのコンパクトなデジタル フィンガープリントとして機能します。このようなハッシュ アルゴリズムのすべてと同様に、理論上は任意の MD5 ハッシュを持つファイルの数は無制限です。ただし、現実世界では、同じハッシュを持つように特別に作成されていない限り、2 つの同一でないファイルが同じ MD5 ハッシュを持つことはほとんどありません。 [2]
基礎となる MD5 アルゴリズムはもはや安全とはみなされていません。したがって、md5sum はセキュリティに関連しない状況で既知のファイルを識別するのに適していますが、ファイルが故意に悪意を持って改ざんされている可能性がある場合は、このアルゴリズムに頼るべきではありません。後者の場合は、sha256sumなどの新しいハッシュ ツールの使用が推奨されます。
md5sumは、ファイルへの変更によって MD5 ハッシュが実質的に変更されるため、ファイルの整合性を検証するために使用されます。最も一般的には、md5sumは、ファイル転送の失敗、ディスク エラー、または悪意のない干渉によってファイルが変更されていないことを確認するために使用されます。md5sumプログラムは、ほとんどのUnix 系オペレーティング システムまたはCygwinなどの互換性レイヤーに含まれています。
オリジナルのCコードはUlrich Drepperによって書かれ、2001年にリリースされたglibcから抽出されました。[3]
例
以下のファイルはすべて現在のディレクトリにあるものと想定されます。
MD5ハッシュファイルhash.md5を作成する
$ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5
作成されたファイル
ファイルにはハッシュとファイル名のペアが含まれています:
$ cat hash.md5
595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt
71f920fa275127a7b60fa4d4d41432a3 filetohashB.txt
43c191bf6d6c3f263a8cd0efd4a058abファイルtohashC.txt
ご注意ください:
- 比較する各md5sum値とファイル名の間には、スペース 2 つまたはスペースとアスタリスクが必要です(2 番目のスペースはテキスト モード、アスタリスクはバイナリ モードを示します)。そうでない場合、次のエラーが発生します:多くのプログラムは 2 つのモードを区別しませんが、一部のユーティリティは区別します。
no properly formatted MD5 checksum lines found - ファイルは UNIX の行末形式でフォーマットされている必要があります。そうでない場合は、次のように表示されます:
md5sum: WARNING: x listed files could not be read. dos2unix は、DOS/Windows 形式の場合、ファイルをすばやく変換します。
MD5をチェックする
$ md5sum -c hash.md5
filetohashA.txt: OK
filetohashB.txt: OK
filetohashC.txt: OK
単一のMD5をチェック
$ echo 'D43F2404CA13E22594E5C8B04D3BBB81 filetohashA.txt' | md5sum -c
filetohashA.txt: OK
GNU以外のシステムの場合
md5sumは、 GNU coreutilsまたはBusyBoxなどのクローンを使用するシステムに固有のものです。FreeBSDおよびOpenBSDでは、ユーティリティはmd5、sha1、sha256、およびsha512と呼ばれます。これらのバージョンでは、オプションと機能が若干異なります。さらに、FreeBSD では、メッセージダイジェストの「SKEIN」ファミリが提供されています。[4]
