概要
不審なファイルを受信したときにVirusTotal等でファイルのスキャンを行う場合がありますが、対象ファイルをそのままアップロードすることができない場合があります。
そのような場合は、ファイルのhash値を取得して調査する方法があります。
この記事はWindowsの標準機能でファイルのhash値を取得する方法をまとめます。
PowerShellによる方法
以下のコマンドで取得可能です。
Get-FileHash .\hash値を求めたいファイル
デフォルトではSHA256のハッシュ値となります。
その他、指定可能なアルゴリズムはSHA1、SHA256、SHA384、SHA512、MD5です。
アルゴリズムを指定する際は以下のコマンドになります。
Get-FileHash -Algorithm アルゴリズム .\hash値を求めたいファイル
コマンドプロンプトによる方法
以下のコマンドで取得可能です。
certutil -hashfile .\hash値を求めたいファイル.txt MD5
なお以下のエラーが出る場合は対象ファイルのサイズが0である可能性があります。
CertUtil: -hashfile コマンド エラーです: 0x800703ee (WIN32: 1006 ERROR_FILE_INVALID)
CertUtil: ファイルを格納しているボリュームが外部的に変更されたため、開かれているファイルが無効になりました。
デフォルトではSHA1のハッシュ値となります。
その他、指定可能なアルゴリズムはMD2、MD5、SHA1、SHA256、SHA384、SHA512です。
WSL(Linux)による方法
以下のコマンドで取得可能です。
sha256sum ./hash値を求めたいファイル.txt
md5sumというコマンドもありますが、現在は安全性が高い方式のsha256sumコマンドが推奨されています。md5sumの使用方法はsha256sumと共通です。
余談:ダウンロードファイルの破損確認
ハッシュ値はダウンロードしたファイルが改ざんされていないかどうかを確認するために使用することもあります。
ダウンロードしたファイルのハッシュ値と、公式サイトに載っているハッシュ値が一致するかどうかで判断することができます。
Index of /Linux/centos/7.9.2009/isos/x86_64
参考にさせていただいたサイト