arbk-works Blog > Windows で ファイル の チェックサム を確認する :Tips & FAQ
本Blogには広告が含まれています.
PR

Windows で ファイル の チェックサム を確認する :Tips & FAQ

PR

CertUtil -hashfile コマンド を使うか, Windows PowerShell で Get-FileHash コマンドレット を使うか, Microsoft 謹製の FCIV ユーティリティ を使うとできます.

PR

CertUtil -hashfile コマンド

CertUtil コマンド は MD2 / MD4 / MD5 / SHA1 / SHA256 / SHA384 / SHA512 ハッシュ値(チェックサム)を計算できます. (デフォルトは SHA1)

例: EXEファイル の MD5ハッシュ値(MD5チェックサム) を計算する.

コマンドプロンプトを立ち上げて 以下を入力します.

> CertUtil -hashfile d:\hogehoge.exe MD5

結果:

> CertUtil -hashfile d:\hogehoge.exe MD5
MD5 ハッシュ (ファイル d:\hogehoge.exe):
cf 6d 86 4a 0e 88 9d c7 1c 6b e8 42 d8 f9 92 e7
CertUtil: -hashfile コマンドは正常に完了しました。

CertUtil -hashfile

使用法:
CertUtil [オプション] -hashfile InFile [HashAlgorithm]
ファイルに暗号化ハッシュを生成し表示します

オプション:
-Unicode -- リダイレクトされた出力を Unicode として書き込む
...

ハッシュ アルゴリズム: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

PowerShell で Get-FileHash コマンドレット

Get-FileHash コマンドレット は MD5 / SHA1 / SHA256 / SHA384 / SHA512 / MACTripleDES / RIPEMD160 ハッシュ値(チェックサム)を計算できます. (デフォルトは SHA256)

Get-FileHash コマンドレット は Windows PowerShell 4.0 以降で利用可能です. Windows PowerShell 4.0 の新機能Microsoft TechNet

例: EXEファイル の MD5ハッシュ値(MD5チェックサム) を計算する.

Windows PowerShell を立ち上げて 以下を入力します.

PS > Get-FileHash d:\hogehoge.exe -Algorithm MD5

結果:

PS > Get-FileHash d:\hogehoge.exe -Algorithm MD5

Algorithm Hash Path
--------- ---- ----
MD5 CF6D864A0E889DC71C6BE842D8F992E7 D:\hogehoge.exe

結果(パイプで Format-List に渡した場合):

PS > Get-FileHash d:\hogehoge.exe -Algorithm MD5 | Format-List

Algorithm : MD5
Hash : CF6D864A0E889DC71C6BE842D8F992E7
Path : D:\hogehoge.exe

Get-FileHash

概要
指定されたハッシュ アルゴリズムを使用して、ファイルのハッシュ値を計算します。

構文
Get-FileHash [-Path] <String[]> [-Algorithm <String>] [<CommonParameters>]
Get-FileHash [-Algorithm <String>] -LiteralPath <String[]> [<CommonParameters>]

説明
Get-FileHash は、指定されたハッシュ アルゴリズムを使用して、ファイルのハッシュ値を計算します。...

パラメーター
-Algorithm <String>
指定されたファイルの内容のハッシュ値を計算するために使用する暗号ハッシュ関数を指定します。...
このパラメーターの有効な値は、SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、および RIPEMD160 です。
値を指定しなかった場合、またはパラメーターを省略した場合、既定値は SHA256 です。...

-LiteralPath <String[]>
ファイルのパスを指定します。
Path パラメーターと異なり、LiteralPath パラメーターの値は入力したとおりに使用されます。ワイルドカードとして解釈される文字はありません。
パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。...

-Path <String[]>
1 つ以上のファイルのパスを指定します。ワイルドカード文字を使用できます。...

<CommonParameters>
...

入力
System.String
パイプを使用して、1 つまたは複数のファイルのパスを含む文字列を Get-FileHash コマンドレットに渡すことができます。

出力
Microsoft.Powershell.Utility.FileHash
Get-FileHash は、指定されたファイルのパス、計算されたハッシュの値、およびハッシュの計算に使用したアルゴリズムを表すオブジェクトを返します。

FCIV ユーティリティ

FCIV (File Checksum Integrity Verifier) ユーティリティ は マイクロソフト が無償で提供している ハッシュ計算プログラム です.

ファイル チェックサム整合性検証 (FCIV) を計算し、ファイルの暗号化ハッシュ値を確認するコマンド プロンプト ユーティリティです。 FCIV は、MD5 または sha-1 暗号化ハッシュ値を計算できます。 これらの値が画面に表示したり、後の使用および検証 XML ファイル データベースに保存できます。

Microsoft サポート

FCIV ユーティリティ を利用するためには マイクロソフト から パッケージ をダウンロードし, インストールする必要があります.

FCIV のダウンロード および インストール手順 に関しては 以下を参照ください.

FCIV ユーティリティ は MD5 / SHA1 ハッシュ値(チェックサム)を計算できます. (デフォルトは MD5)

例: EXEファイル の MD5ハッシュ値(MD5チェックサム) を計算する.

コマンドプロンプトを立ち上げて 以下を入力します.
(fciv.exe へ PATH が通っているものとします.)

> fciv d:\hogehoge.exe -md5

結果:

> fciv d:\hogehoge.exe -md5
//
// File Checksum Integrity Verifier version 2.05.
//
cf6d864a0e889dc71c6be842d8f992e7 d:\hogehoge.exe

fciv.exe

Usage: fciv.exe [Commands] <Options>

Commands: ( Default -add )

-add <file | dir> : Compute hash and send to output (default screen).

dir options:
-r : recursive.
-type : ex: -type *.exe.
-exc file: list of directories that should not be computed.
-wp : Without full path name. ( Default store full path)
-bp : specify base path to remove from full path name

-list : List entries in the database.
-v : Verify hashes.
: Option: -bp basepath.

-? -h -help : Extended Help.

Options:
-md5 | -sha1 | -both : Specify hashtype, default md5.
-xml db : Specify database format and name.

To display the MD5 hash of a file, type fciv.exe filename

Compute hashes:
fciv.exe c:\mydir\myfile.dll
fciv.exe c:\ -r -exc exceptions.txt -sha1 -xml dbsha.xml
fciv.exe c:\mydir -type *.exe
fciv.exe c:\mydir -wp -both -xml db.xml

List hashes stored in database:
fciv.exe -list -sha1 -xml db.xml

Verifications:
fciv.exe -v -sha1 -xml db.xml
fciv.exe -v -bp c:\mydir -sha1 -xml db.xml

参考情報: チェックサム/ハッシュ値って何?

ハッシュ値とは、ファイルの内容に対応する一意の値です。
ハッシュは、ファイルの内容をファイル名や拡張子などの指定で識別するのではなく、ファイルの内容に一意の値を割り当てます。
ファイル名と拡張子は、ファイルの内容を変更することなく、ハッシュ値を変更することもなく、変更できます。
同様に、ファイルの内容は、名前または拡張機能を変更することなく変更できます。
ただし、ファイルの内容を 1 文字でも変更すると、ファイルのハッシュ値は変更されます。

ハッシュ値の目的は、ファイルの内容が変更されていないことを確認するための、暗号化による安全な方法を提供することです。
MD5 や SHA1 など、一部のハッシュ アルゴリズムは攻撃に対して安全と見なされなくなっています。
そのため、安全なハッシュ アルゴリズムの目的は、事故、または悪意のある試みや未承認の試みによるファイルの内容の変更を不可能にし、同じハッシュ値を維持することです。
また、ハッシュ値を使用して、2 つの異なるファイルの内容がまったく同じかどうかを確認することもできます。
2 つのファイルのハッシュ値が同一の場合は、ファイルの内容も同一です。

Windows PowerShell: Get-FileHash コマンドレット 説明 (抜粋)
PR
  • 本Blogの内容に関し, 都度確認はしていますが, その正確性を保証するものではありません.
  • 本Blogの利用に際して何らかの障害が発生した場合, また, 本Blogの内容を参考や実践した結果において何らかの不利益を被った場合においても, 運営者は一切の責を負わないものとします.

運営者

arbk-works の Blog です. コンピュータ, IT・ICT, セキュリティ関連の情報をわかりやすく紹介します.

どうも こんにちは。 (2022.02.02)

arbk-works Blog > Windows で ファイル の チェックサム を確認する :Tips & FAQ