2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows の標準機能でファイルのハッシュ値を取得する方法

Posted at

概要

Windows の標準機能でファイルのハッシュ値を取得する方法について簡単に説明します。

方法

方法としては

  1. コマンド プロンプトにて certutil -hashfile コマンドを使用する
  2. Windows PowerShell にて Get-FileHash コマンドレットを使用する

の二通りがあります。

違いは下記になります。

方法 取得結果の種類 対応するアルゴリズム
certutil コマンド 文字列 MD2
MD4
MD5
SHA1
SHA256
SHA384
SHA512
Get-FileHash コマンドレット オブジェクト MD5
SHA1
SHA256
SHA384
SHA512
MACTripleDES
Ripemd160

用途に応じてどちらを選択するか選択してください。

certutil -hashfile コマンド について

certutil コマンドは証明書に関連する操作をおこなうコマンドですが -hashfile パラーメーターを付与することでファイルのハッシュ値を取得することが可能です。

下記にてファイルのハッシュ値の取得が可能です。

CertUtil [オプション] -hashfile 取得したいファイルパス [取得するハッシュアルゴリズム]

実行例

C:\Users\User>certutil -hashfile c:\temp\test.txt sha256
SHA256 ハッシュ (対象 c:\temp\test.txt):
61be55a8e2f6b4e172338bddf184d6dbee29c98853e0a0485ecee7f27b9af0b4
CertUtil: -hashfile コマンドは正常に完了しました。

なおアルゴリズムを未指定とした場合、 SHA1 のハッシュ値が取得されます。

なお Microsoft の公開情報としては

certutil | Microsoft Learn 

ぐらいであまり詳細な情報はありません。
不足があれば certutil -hashfile /? にてヘルプを参照してください。

Get-FileHash コマンドレットについて

Get-FileHash コマンドレットは公開情報がありますのでまずはそちらを確認してみて下さい。

Get-FileHash (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn 

下記にてファイルのハッシュ値の取得が可能です。

Get-FileHash 取得したいファイルパス[-Algorithm 取得するハッシュアルゴリズム]

実行例

PS C:\Users\User> Get-FileHash c:\temp\test.txt -Algorithm sha256

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          61BE55A8E2F6B4E172338BDDF184D6DBEE29C98853E0A0485ECEE7F27B9AF0B4       C:\temp\test.txt

なおアルゴリズムを未指定とした場合、 SHA256 のハッシュ値が取得されます。

また、 Windows PowerShell の初期値の状態では SHA384 ならびに SHA512 でハッシュ値を取得しますと下記のように出力結果が見切れます。
パイプラインで Format-List につないでいただければ見切れずに目視での確認が可能です。

PS C:\Users\User> Get-FileHash c:\temp\test.txt -Algorithm sha512

Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA512          1B86355F13A7F0B90C8B6053C0254399994DFBB3843E08D603E292CA13B8F672ED5... C:\temp\test.txt


PS C:\Users\User> Get-FileHash c:\temp\test.txt -Algorithm sha512 | Format-List


Algorithm : SHA512
Hash      : 1B86355F13A7F0B90C8B6053C0254399994DFBB3843E08D603E292CA13B8F672ED5E58791C10F3E36DAEC9699CC2FBDC88B4FE116EF
            A7FCE016938B787043818
Path      : C:\temp\test.txt


最後に

今回は Windows に標準機能でファイルのハッシュ値を取得する方法についてまとめました。
OS 標準とは言えませんが、 Excel のマクロでファイルのハッシュ値を取得する方法もあるようです。
また、ファイルのハッシュ値を取得するツールは様々なものが提供されておりますので、OS 標準機能との制限がなければより利便性の高いツールを利用していただければと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?