見出し画像

【Windows】cmd/PowerShell でHash値を確認

はじめに

OSイメージファイルなどをPC上のローカルへコピーやダウンロードした際、元ファイルと内容に間違いが無いかなどを確認のためMD5SHAのHash値を確認することがあると思います。
ただ、あまり頻繁に行わない場合、確認方法やコマンドを忘れてしまいます。。そのため、メモとしてWindows用のファイルHash値を確認する方法を残そうと思います。
誰かの役にも立てば幸いです。


確認前に知っておくこと

1.cmdとPowerShell

Windowsの場合、Windows 10より以前から存在するcmd(コマンドプロンプト)とWindows 10以降で開発されたPowerShellでコマンドが異なります。本記事では両方の確認方法を記載します。

また、自分の画面上でcmdとPowerShellのどちらが開いているのかわからない場合は、プロンプトの前に「PS」がついているかで確認可能です。
PS」がついていればPowerShellです。

PowerShellの画面

プロンプト前に何もついていなければcmd(コマンドプロンプト)です。

cmd(コマンドプロンプト)の画面

確認するテストファイルについて

Hash値確認のため、今回はPCのデスクトップ上に適当なファイルを作成し、そのファイルのHash値の確認方法を示します。
■テスト用ファイルについて
 ・ファイル名:hash確認.txt
 ・ファイルの内容:[以下画像の通り]

確認用テストファイルについて

確認方法

1-1. cmd(コマンドプロンプト)

cmd(コマンドプロンプト)上に以下コマンドを入力することで確認できます。また、ファイルパスの後ろでHashアルゴリズムを指定しない場合、デフォルトでSHA1になります。

■コマンド(Hashアルゴリズムを指定しない場合)
 certutil -hashfile [ファイルパス(相対/絶対どちらも可能)]

C:\Users\user01>certutil -hashfile C:\Users\user01\Desktop/hash確認.txt
SHA1 ハッシュ (対象 C:\Users\user01\Desktop/hash確認.txt):
587bcd82d90aab9a93f58a0cff85848fd0abf221
CertUtil: -hashfile コマンドは正常に完了しました。

C:\Users\user01>

■コマンド(Hashアルゴリズムを指定する場合)
 certutil -hashfile [ファイルパス(相対/絶対どちらも可能)] [Hashアルゴリズム]

以下はMD5での確認例


C:\Users\user01>certutil -hashfile C:\Users\user01\Desktop/hash確認.txt MD5
MD5 ハッシュ (対象 C:\Users\user01\Desktop/hash確認.txt):
dc8e46e8adbbf79e4b37d5c0be4bd1ae
CertUtil: -hashfile コマンドは正常に完了しました。

C:\Users\user01>

HashアルゴリズムはSHA1MD5以外にも指定可能です。

1-2. certutil -hashfileコマンドについて(メーカーサイト)



2-1. PowerShell

PowerShell上に以下コマンドを入力することで確認できます。また、ファイルパスの後ろでHashアルゴリズムを指定しない場合、デフォルトでSHA256になります。

■コマンド(Hashアルゴリズムを指定しない場合)
 Get-FileHash [ファイルパス(相対/絶対どちらも可能)] 
※「| Format-List」を付けることで表示が見やすくできます。

PS C:\Users\user01> Get-FileHash C:\Users\user01\Desktop\hash確認.txt
Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          25BBA9CA9F4BD6A557C2F5A978B49CFB19A71239EAD5F91DCDF53E0908D94134       C:\Users\user01\Desktop\hash...

PS C:\Users\user01>

PS C:\Users\user01> Get-FileHash C:\Users\user01\Desktop\hash確認.txt | Format-List
Algorithm : SHA256
Hash      : 25BBA9CA9F4BD6A557C2F5A978B49CFB19A71239EAD5F91DCDF53E0908D94134
Path      : C:\Users\user01\Desktop\hash確認.txt

PS C:\Users\user01>

■コマンド(Hashアルゴリズムを指定する場合)
 Get-FileHash [ファイルパス(相対/絶対どちらも可能)] -Algorithm MD5
※「| Format-List」を付けることで表示が見やすくできます。

以下はMD5での確認例

PS C:\Users\user01> Get-FileHash C:\Users\user01\Desktop\hash確認.txt -Algorithm MD5
Algorithm       Hash                                         Path
---------       ----                                         ----
MD5             DC8E46E8ADBBF79E4B37D5C0BE4BD1AE             C:\Users\user01\Desktop\hash...

PS C:\Users\user01> 
PS C:\Users\user01> Get-FileHash C:\Users\user01\Desktop\hash確認.txt -Algorithm MD5 | Format-List
Algorithm : MD5
Hash      : DC8E46E8ADBBF79E4B37D5C0BE4BD1AE
Path      : C:\Users\user01\Desktop\hash確認.txt

PS C:\Users\user01>

2-2. Get-FileHashコマンドについて(メーカーサイト)

おわりに

正直、cmdでの確認方法は知っていたため、記事にするまでもないかなと思ってましたが、PowerShellでの確認方法を知るために敢えて記事にした感じです。
確認できればcmdでいいや。という場合はほとんど参考にならないですが、PowerShellでの場合は参考になるかな。。

ここまでご閲読いただきありがとうございました。
末尾にメーカーサイト以外でわかりやすかったサイト載せておきます。


その他参考サイト

個人ブログですが、以下サイトが一番わかりやすかったです。

いいなと思ったら応援しよう!