インターネットからファイルをダウンロードした際、[改ざん]や[破損]が無いことを確認するために【ハッシュ値】を用いることがあります。Windows 11や10をはじめMacやUbuntu(Linux)ではコマンドで表示させることができます。
ハッシュ値とは?
任意のファイルから算出される以下のような文字列を指します。
1a2b3c4d5e6f7g8h9i0j1l2m3n4o05p6
このハッシュ値はファイルごとに算出される結果が異なるので、ファイルを転送する際にそのファイルが「破損していないこと」や「改ざんされていないこと」を確認するために用いることができます。
確認するためには、ファイルのダウンロード時に公開されているハッシュ値を記録しておき、ダウンロードしたファイルから自分で算出したハッシュ値が合致しているかをチェックします。
算出するにはコマンドが用意されており、コマンドラインツール(ターミナル/PowerShell/コマンドプロンプト)より実行します。
コマンドの使いかた
Windowsの場合
コマンドラインツール(ターミナル/PowerShell/コマンドプロンプト)より以下のコマンドを実行します。
certutil␣-hashfile␣(ファイル名)␣(ハッシュ関数)
例えば
certutil -hashfile c:\test.txt MD5
MD5 ハッシュ (対象 C:\Users\username\sample.exe): 1a2b3c4d5e6f7g8h9i0j1l2m3n4o05p6 CertUtil: -hashfile コマンドは正常に完了しました。
また、以下のようなバッチファイル(例えばcheck_haskfile.batなど)を作成し送るメニューに登録しておけば、対象ファイルを右クリックし送る>check_haskfile.batでハッシュ値を表示できます。
@echo off certutil -hashfile "%~1" MD5 certutil -hashfile "%~1" SHA1 certutil -hashfile "%~1" SHA256 pause
Windowsでのやり方は以上です。
Mac / Linuxの場合
ターミナルで以下のコマンドを実行すると、各ハッシュ値を表示させることができます。
- MD5
-
md5sum␣(ファイル名)
- SHA1
-
shasum␣-a␣1␣(ファイル名)
- SHA256(512なども可)
-
shasum␣-a␣256␣(ファイル名)
例えば、test.txtのMD5ハッシュ値を調べたい場合には以下のコマンドを実行します。
md5sum ./test.txt
比較的に簡単なコマンドですが、頻繁に使うようであれば以下をcheck_hashfile.shなどと保存しておけば./check_hashfile.sh ./test.txtを実行して一括で表示できます。
#!/bin/sh # md5 md5sum $1 # SHA1 shasum -a 1 $1 # SHA256(512なども可) shasum -a 256 $1
Mac / Linuxでのやり方は以上です。