スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

LinuxにおけるダウンロードファイルのMD5による破損チェック

ハッシュ関数のハッシュ値を利用して、ウェブサイトからダウンロードしたファイルに破損や改竄(かいざん)がないかどうかをチェックすることができます。チェックに利用するハッシュ値を、チェックサム、メッセージダイジェスト、フィンガープリントなどと呼びます。

代表的なハッシュ関数としては、MD5(Message Digest 5)とSHA-1(Secure Hash Algorithm 1)の2種類があります。MD5は128ビット、SHA-1は160ビットの値を出力します。

Linuxには、ファイルが破損していないかどうかをMD5やSHA-1のハッシュ値によってチェックするためのツール「md5sum」「sha1sum」があらかじめ用意されています。両者の使い方は全く同じです。

ここでは、md5sumの使い方について説明します。

基本的な使い方

チェックしたいファイルを例えばsample.tgzとするとき、

$ md5sum sample.tgz
acb075f030bd508f4e3e2a96d53edfd6  sample.tgz

のようにして、sample.tgzのハッシュ値が計算できます。ダウンロード元のウェブサイト、もしくは以下に述べるチェックサムファイルに書かれているMD5のハッシュ値と比較して、同じ値であれば正常にダウンロードできたと判断できます。

引数に複数のファイル名を指定すれば、各々の計算結果を出力してくれます。

$ md5sum sample1.tgz sample2.tgz
acb075f030bd508f4e3e2a96d53edfd6  sample1.tgz
3037e56a3f75d765c615c5e2d233b569  sample2.tgz

ワイルドカードも使えます。

$ md5sum sample*.tgz
acb075f030bd508f4e3e2a96d53edfd6  sample1.tgz
3037e56a3f75d765c615c5e2d233b569  sample2.tgz

チェックサムファイルによるチェック

チェックサムファイルとは

チェックサムファイルはテキストファイルであり、その内容は

acb075f030bd508f4e3e2a96d53edfd6  sample1.tgz
3037e56a3f75d765c615c5e2d233b569  sample2.tgz

のように、ハッシュ値とファイル名の組をスペースで区切って並べただけのものです。

ダウンロードサイトにおいて、目的のファイル(例:sample1.tgz、sample2.tgz)のほかに、チェックサムファイルが用意されていれば、それも一緒にダウンロードして同じディレクトリに置きます。

チェックサムファイルには、複数ファイルに対応したもの(例:md5sum.txt、MD5SUMなど)もあれば、各々のファイルに対して一つずつ用意されていることもあります(例:sample1.tgz.md5、sample1.tgz.md5sumなど)。

ダウンロード元が用意したチェックサムファイルには、本来の正しいハッシュ値が書かれています。これと、ダウンロードしたファイルのハッシュ値とを照合して、そのファイルが元々のものと同一であるかどうかを確認します。

チェックサムファイルによるチェック

コンソールを起動し、目的のファイルとチェックサムファイルが格納されたディレクトリに移動します。

オプション「-c」(もしくは「--check」)をつけてコマンドを実行します。

$ md5sum -c md5sum.txt

ファイルが正常であれば、

sample1.tgz: 完了
sample2.tgz: 完了

破損や改竄(かいざん)などによってハッシュ値の計算が合わないものがあると、

sample1.tgz: 失敗
sample2.tgz: 完了
md5sum: WARNING: 1 of 2 computed checksum did NOT match

存在しないファイルに対しては、

sample1.tgz: 完了
md5sum: sample2.tgz: No such file or directory
sample2.tgz: オープンまたは読み込みに失敗しました
md5sum: WARNING: 1 of 2 listed files could not be read

のように表示されます。

チェックサムファイルの作成

自分でチェックサムファイルを作るときは、

$ md5sum sample1.tgz sample2.tgz > md5sum.txt

のようにすれば簡単です。

関連記事

LinuxにおけるダウンロードファイルのSHA-1による破損チェック

【theme : Linux
【genre : コンピュータ

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。