Windowsでファイルのハッシュ値を確認する方法として、以下に記載する2つを使用することができます。
- コマンドプロンプト(certutilを使用する)。
- PowerShell(Get-FileHashを使用する)。
今回は、それぞれの使用方法について紹介していきます。
環境
検証に使用した実行環境を以下に記載します。
- OS:Windows 10(Version 10.0.18363.720)
- PowerShell:5.1.18362.628
コマンドプロンプトでの確認方法
コマンドプロンプトでは、「certutil」を使用することで確認できます。
本来、「certutil」は証明書サービス関連のプログラムですが、オプションを指定することでファイルのハッシュ値を確認することができます。
使用方法
コマンドプロンプトを起動して以下を入力します。
certutil -hashfile 対象ファイル [ハッシュアルゴリズム]
- 対象ファイル:ハッシュ値を確認するファイル名を指定してください。
- ハッシュアルゴリズム:ハッシュアルゴリズムを指定することができます。指定しない場合は、「SHA1」になります。「PowerShell」のデフォルト値とは異なるため注意してください。指定可能なハッシュアルゴリズムは以下になります。
- MD2
- MD4
- MD5
- SHA1
- SHA256
- SHA384
- SHA512
使用例
使用例を以下に記載します。
$ certutil -hashfile hashtest.png SHA1 ハッシュ (対象 hashtest.png): d02cc721d88f7eede2200c7e84012794beb7c712 CertUtil: -hashfile コマンドは正常に完了しました。
「SHA1」と表示されている箇所が、ハッシュアルゴリズムになります。指定しない場合は、「SHA1」になっているのがわかると思います。
「d02cc721d88f7eede2200c7e84012794beb7c712」と表示されている箇所が、ファイルのハッシュ値になります。
さらに詳しい使用方法については、以下のコマンドを実行することで確認することもできます。
$ certutil -hashfile -?
PowerShellでの確認方法
PowerShellでは、「Get-FileHash」を使用することで確認できます。
使用方法
PowerShellを起動して以下を入力します。
Get-FileHash 対象ファイル [ハッシュアルゴリズム]
- 対象ファイル:ハッシュ値を確認するファイル名を指定してください。
- ハッシュアルゴリズム:ハッシュアルゴリズムを指定することができます。指定しない場合は、「SHA256」になります。「コマンドプロンプト」のデフォルト値とは異なるため注意してください。指定可能なハッシュアルゴリズムは以下になります。
- MD5
- SHA1
- SHA256
- SHA384
- SHA512
使用例
$ Get-FileHash hashtest.png Algorithm Hash Path --------- ---- ---- SHA256 0B8E573B5F30B3C50020C0E57AF6FFA321E399D5BE2F6693D1CFE58EA8E3B755 hashtest.png
「Algorithm」に表示されている「SHA256」がハッシュアルゴリズムになります。指定しない場合は、「SHA256」になっているのがわかると思います。
「Hash」に表示されている「0B8E573B5F30B3C50020C0E57AF6FFA321E399D5BE2F6693D1CFE58EA8E3B755」が、ファイルのハッシュ値になります。
「Path」に表示されているのが対象のファイルになります。
詳しい使用方法については、以下のコマンドを実行することで確認することもできます。
$ Get-FileHash -?
まとめ
ダウンロードしたファイルなどが正しいかどうかのハッシュ値を確認するためなどに使用することができます。