ダウンロードしたファイルのハッシュ値を確認してみましょう

ハッシュ値を確認することでファイル破損を検出する

ダウンロードが正常に行われたかを確認するため、ダウンロード元のファイルとダウンロードしたファイルのハッシュ値を比較することでファイルの同一性を確認します。

ハッシュ値とは

ドキュメントや数字などの文字列の羅列から一定長のデータに要約するための関数・手順のことをハッシュ関数という。関数を通して出力される値は、「ハッシュ値」、または単に「ハッシュ」と呼ぶ。“SHA”(Secure Hash Algorithm)などのハッシュ関数が代表的で、いずれも一方向関数であるため、生成データから原文を推定することは不可能である。

 通信回線を通じてデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較すれば、データが通信途中で改ざんされていないか調べることができる。一方向関数による生成であるため、ハッシュ値を変更しないまま元データを改ざんすることはできないからだ。よって認証と完全性検査によく用いられる。

出展:@IT セキュリティ用語辞典 ハッシュ関数とは:セキュリティ用語事典
http://www.atmarkit.co.jp/ait/articles/0401/01/news126.html

多くのベンダーでは、インストールイメージなどの提供に際してハッシュの値を公開しています。ダウンロードしたデータのハッシュ値がベンダーの公開する値と同一であれば正常にダウンロードできたと考えることができます。

例はD社のドライバダウンロードページ
ダウンロードの整合性を確保するには、ハッシュの値を検証してください。

MD5:
d3ba71d5328c963d450b830807711826
SHA1:
ae7c054eac40acfa84c9e00201cf259d3dfab801
SHA-256:
57cf82bd60cc64ad407cb9781a1430f5daad896cbe916f41efd67fad3b830207

ハッシュ値を確認するには

ハッシュ関数を使用するにはWindwosコマンドプロンプト、Powershell、Linuxのターミナルでコマンドを実行します。

Windowsコマンドプロンプトでハッシュ値を確認するには

> certutil -hashfile ファイル名 MD5
MD5 ハッシュ (ファイル名):
d3 ba 71 d5 32 8c 96 3d 45 0b 83 08 07 71 18 26
CertUtil: -hashfile コマンドは正常に完了しました。

> certutil -hashfile ファイル名 SHA1
SHA1 ハッシュ (ファイル名):
ae 7c 05 4e ac 40 ac fa 84 c9 e0 02 01 cf 25 9d 3d fa b8 01
CertUtil: -hashfile コマンドは正常に完了しました。

> certutil -hashfile ファイル名 SHA256
SHA256 ハッシュ (ファイル名):
57 cf 82 bd 60 cc 64 ad 40 7c b9 78 1a 14 30 f5 da ad 89 6c be 91 6f 41 ef d6 7f ad 3b 83 02 07
CertUtil: -hashfile コマンドは正常に完了しました。

Powershellでハッシュ値を確認するには

ハッシュ値は前述したもので同じになるためコマンドのみを記載します。

> Get-FileHash ファイル名 -Algorithm MD5
> Get-FileHash ファイル名 -Algorithm SHA1
> Get-FileHash ファイル名 -Algorithm SHA256

(CentOS7)でハッシュ値を確認するには

こちらもハッシュ値は前述したもので同じになるためコマンドのみを記載します。

$ md5sum ファイル名
$ sha1sum ファイル名
$ sha256sum ファイル名
スポンサーリンク
spdsk-side
spdsk-side