【Windows】ファイルのハッシュ値の確認方法

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 -?

まとめ

ダウンロードしたファイルなどが正しいかどうかのハッシュ値を確認するためなどに使用することができます。