LinuxでMD5のハッシュ値を計算するコマンドを紹介します。
MD5はハッシュ値を計算するハッシュ関数のひとつです。ハッシュ関数は同じ入力に対して、必ず同じハッシュ値を返す特徴があります。この特徴を利用して、ファイルが正しいものであるか確認することもできます。
md5sumコマンドの使い方
md5sumコマンドの書式は以下の通りです。
1 |
md5sum [オプション] [ファイル...] |
md5sumコマンドは指定したファイルに対して、128bitのハッシュ値を計算して出力します。もしファイルを指定しなかった場合は、標準入力から読み込みます。
オプション
-c | 指定したファイルからハッシュ値とファイル名の対応を読み込み、ハッシュ値が正しいか調べる |
-t | 指定したファイルをテキストファイルとして扱う |
-w | 指定したハッシュ値の書式が正しくない場合、警告を出力する |
MD5のハッシュ値を計算する
以下は、ファイルのMD5のハッシュ値を計算して表示する例です。
1 2 3 4 5 |
$ cat sample.txt hoge $ md5sum sample.txt c59548c3c576228486a1f0037eb16a1b sample.txt |
実行するとハッシュ値と対応するファイル名が表示されます。
以下は、標準入力から読み込む例です。入力を終了するときは「Ctrl+D」を入力します。
1 2 3 |
$ md5sum hoge c59548c3c576228486a1f0037eb16a1b - |
先ほど指定したファイル内容と同じ文字列を指定しているので、ハッシュ値は同じ値になります。
ファイルが正しいかチェックする
Ubuntuではインストール可能なイメージデータとMD5のハッシュ値を提供しています。
Ubuntuのイメージのダウンロードページから、「ubuntu-ja-16.04-desktop-amd64.iso」をダウンロードしたとします。このファイルに対応するMD5のハッシュ値はサイトに記載されており、この値と照合することによりファイルが正しくダウンロードされているかチェックすることができます。
1 2 |
$ md5sum ubuntu-ja-16.04-desktop-amd64.iso 76a02f16f56c01f96aeda325914432fd ubuntu-ja-16.04-desktop-amd64.iso |
サイト上のMD5のハッシュ値と一致しているので、ファイルが正しくダウンロードされていることが確認できます。