バイオインフォ道場、くまぞうです。
バイオインフォマティクスでは、大きなデータを扱う機会が良くあります。大きなデータや大量のデータをネット経由でダウンロードする際は、きちんとダウンロードできたか心配になるときがあります。このようなとき、簡単にチェックできて便利なのがMD5値です。
MD5とは
ダウンロード失敗してファイルが破損していないか?または、大事なデータを誰かに改ざんされていないか?を確認するのに利用されるのがMD5値です。データ毎にユニークな値になるので、配布先データ(MD5参照)とダウンロード後のデータ(MD5算出)についてMD5値を比較することで、一致を確認することができます。専用コマンドで簡単に確認できるので、できるだけ利用すると安心・安全です。
MD5は、電子署名を必要とするアプリケーション向けに開発された。RSAで署名を生成する際に、メッセージを直接対象として署名を生成するのではなく、メッセージのハッシュ値を生成し、ハッシュ値に対して署名を生成する。ファイルを転送する際にそのファイルが破損していないことを確認するためにも用いられる。配布する側は、ファイル配布時にそのファイルのMD5ハッシュ値(いわゆるMD5チェックサム)も同時に配布する。受信したユーザは手元でファイルのMD5値を計算して、配布者の提示したMD5値と一致することを確認すれば良い。
【出展】 Wikipedia MD5
正常にダウンロードできたか?MD5を確認する
md5sumコマンドの使い方
ダウンロードしたファイルからMD5値を計算するのが、md5sumコマンドです。データに破損などがあった場合はmd5値が一致しません。この場合、適切にファイルがダウンロードしていないので、もう一度ダウンロードしましょう。
ファイルのMD5値を算出して比較する
配布先から提供されたMD5値(origin.md5)に対して、ダウンロード済みのファイル(mydata.gz)のMD5値を計算します。一致すれば、ダウンロード成功です。
$ cat origin.md5 12345678901234567890123456789012 mydata.gz $ md5sum mydata.gz #download済みデータとして 12345678901234567890123456789012 mydata.gz
MD5値のリストを使ってチェックする
大量のファイルを比較する場合は、配布先から提供されたMD5値をリスト(md5_list)にして、カレントディレクトリにある「ダウンロード済みファイル(mydata1〜4.gz)」と自動比較を行うと便利です。md5sumの-cオプションにリストを指定します。一致すれば、「OK」と表示されて、ダウンロード成功です。
$ cat md5_list #配布先で示されるファイルのMD5をリスト化 12345678901234567890123456789012 mydata1.gz 23456789012345678901234567890123 mydata2.gz 34567890123456789012345678901234 mydata3.gz 45678901234567890123456789012345 mydata4.gz $ ls mydata1.gz mydata2.gz mydata3.gz mydata4.gz $ md5sum -c md5_list mydata1.gz: OK mydata2.gz: OK mydata3.gz: OK mydata4.gz: OK
![バイオインフォ 道場 [bioinfo-Dojo]](https://bioinfo-dojo.net/wp-content/uploads/2016/03/some_object_luca-bravo-alS7ewQ41M8-unsplash.jpg)

