2015/01/01

PowerShell ダウンロード ファイルのハッシュ値を計算する~MD5とSHA1

ここ数年、日本国内だけでなく海外のWebサイトをよく巡回するようになりました。
素晴らしいツールと遭遇する事が多い反面、ツールに素敵な付属品(ウィルスやマルウェアなど)が付いてくる事も多いのが実情です。
多くのサイトではMD5やSHA1などファイルのハッシュ値(チェックサム)を記載されているので、ファイルが改ざんされていないかダウンロード後にファイル スキャンとハッシュ値の計算を癖づけています。
以前はVectorからハッシュ値 計算ツールを利用していましたが、最近はPowerShellばかり。
今回は、PowerShell を使ってダウンロードしたファイルのハッシュ値を計算する方法をメモ。

ハッシュ値を計算する

ハッシュ値を計算する理由は@ITさんの記事が参考になります。
情報セキュリティ入門 - ハッシュ値
例として、
  1. 大容量のISOファイルが破損せず、正しくダウンロードできたか?
  2. ダウンロードするファイルが第三者によって改ざんされていないか?
など。
検証時によくあるのが、#1です。
下記画像の赤枠はWindows Insider Programが提供している「Windows Technical Preview」のSHA1 ハッシュ値です。
ISOファイルのサイズは約2.9~4.0GBと非常に大きいため、通信環境によってダウンロードし終えたファイルが破損している事があります。
破損している場合は正しくインストール出来ないため、ダウンロードする場合はハッシュ値をチェックする事が大切です。
image

Get-FileHash コマンドレット

PowerShell のGet-FileHash コマンドレットは、ファイルのハッシュ値を計算します。
使い方は非常に簡単です。

Get-FileHash -Path <ファイル名> -Algorithm <アルゴリズム>
-Algorithm パラメータ
アルゴリズムは7種類あります。
Get-FileHash コマンドレットは、PowerSHell v4.0で利用できます。
OSによっては、WMF4.0のインストールが必要になりますのでご注意ください。
Windows Management Frameworkについて~おさらいとWMF 4.0へアップグレード
スポンサーリンク

スポンサーリンク