素晴らしいツールと遭遇する事が多い反面、ツールに素敵な付属品(ウィルスやマルウェアなど)が付いてくる事も多いのが実情です。
多くのサイトではMD5やSHA1などファイルのハッシュ値を記載されているので、ファイルが改ざんされていないかダウンロード後にファイル スキャンとハッシュ値の計算を癖づけています。
以前はVectorからハッシュ値 計算ツールを利用していましたが、最近はPowerShellばかり。
今回は、PowerShell を使ってダウンロードしたファイルのハッシュ値を計算する方法をメモ。
ハッシュ値を計算する
ハッシュ値を計算する理由は@ITさんの記事が参考になります。
情報セキュリティ入門 - ハッシュ値例として、
- 大容量のISOファイルが破損せず、正しくダウンロードできたか?
- ダウンロードするファイルが第三者によって改ざんされていないか?
など。
検証時によくあるのが、#1です。下記画像の赤枠はWindows Insider Programが提供している「Windows Technical Preview」のSHA1 ハッシュ値です。
ISOファイルのサイズは約2.9~4.0GBと非常に大きいため、通信環境によってダウンロードし終えたファイルが破損している事があります。
破損している場合は正しくインストール出来ないため、ダウンロードする場合はハッシュ値をチェックする事が大切です。
Get-FileHash コマンドレット
PowerShell のGet-FileHash コマンドレットは、ファイルのハッシュ値を計算します。使い方は非常に簡単です。
Get-FileHash -Path <ファイル名> -Algorithm <アルゴリズム>
-Algorithm パラメータ
アルゴリズムは7種類あります。
- MACTripleDES
- MD5
- RIPEMD160
- SHA1
- SHA256
- SHA384
- SHA512
Get-FileHash コマンドレットは、PowerSHell v4.0で利用できます。
OSによっては、WMF4.0のインストールが必要になりますのでご注意ください。
Windows Management Frameworkについて~おさらいとWMF 4.0へアップグレード