Windowsでハッシュ値を計算するコマンド

2019年8月3日

certutilコマンドでハッシュ値生成

ファイルが同じものかどうかを確認するためにハッシュ値比較することがあります。
Windowsでcertutilコマンドでハッシュ値を生成できます。

> certutil -hashfile .\test.txt
SHA1 ハッシュ (対象 .\test.txt):
1f8ac10f23c5b5bc1167bda84b833e5c057a77d2
CertUtil: -hashfile コマンドは正常に完了しました。

生成するハッシュ値のアルゴリズムも指定できます。

> certutil -hashfile .\test.txt md5
MD5 ハッシュ (対象 .\test.txt):
e80b5017098950fc58aad83c8c14978e
CertUtil: -hashfile コマンドは正常に完了しました。
> certutil -hashfile .\test.txt sha1
SHA1 ハッシュ (対象 .\test.txt):
1f8ac10f23c5b5bc1167bda84b833e5c057a77d2
CertUtil: -hashfile コマンドは正常に完了しました。
> certutil -hashfile .\test.txt sha256
SHA256 ハッシュ (対象 .\test.txt):
bef57ec7f53a6d40beb640a780a639c83bc29ac8a9816f1fc6c5c6dcd93c4721
CertUtil: -hashfile コマンドは正常に完了しました。

右クリックからバッチファイルを実行

バッチファイルを作成して右クリックから実行できるようにします。
以下のようなバッチファイルを作成します。

@echo off
certutil -hashfile "%~1" sha1
pause

エクスプローラのアドレスに「sendto」を入力してディレクトリを移動します。
移動先にさっきのバッチファイルを配置します。

ハッシュ値を生成したいファイルを右クリックして「送る」からバッチファイルを選択すれば簡単にハッシュ値が生成できるようになります。