インターネットで配布されているファイル(特に大容量のイメージファイルなど)は、ダウンロード時に破損したり、改ざんされる可能性があるため、ファイルの「ハッシュ値(チェックサム)」が掲載されていることがあります。
ファイルのハッシュ値は、ファイルの内容をアルゴリズムに基づいて計算し、固定長のデータに変換したもので、通常は16進数で表記されます。
このハッシュ値は、ファイルの内容が1bit違っているだけでも大きく異なるため、ダウンロードしたファイルのハッシュ値と、Webサイトに掲載されているハッシュ値を比較することで、ダウンロードしたファイルの同一性(整合性)を確認することができます。
そこでここでは、WindowsやLinuxの標準コマンドで、ファイルのハッシュ値を確認する方法を紹介します。
目次
Windowsでハッシュ値を確認
Windowsコマンド
Windowsでファイルのハッシュ値を確認するときは、標準搭載の「certutil」コマンドを使います。
たとえば、ダウンロードしたISOイメージファイル「sample.iso」のMD5ハッシュ値を確認するときは、次のようにコマンドを実行します。
> certutil -hashfile sample.iso md5
MD5 ハッシュ (対象 sample.iso):
d8e8fca2dc0f896fd7cb4cb0031ba249
CertUtil: -hashfile コマンドは正常に完了しました。
ハッシュアルゴリズムには、MD5以外のもSHA256なども指定できます。
PowerShellコマンドレット
PowerShellコマンドレットでファイルのハッシュ値を確認する場合は「Get-FileHash」コマンドレットを使います。
たとえば、ダウンロードしたISOイメージファイル「sample.iso」のSHA256ハッシュ値を確認するときは、次のようにコマンドを実行します
PS> Get-FileHash -Algorithm sha256 sample.iso
Algorithm Hash Path
--------- ---- ----
SHA256 f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2 sample.iso
Linuxでハッシュ値を確認
LinuxでファイルのMD5ハッシュ値を確認するときは「md5sum」コマンドを使って、以下のように実行します。
$ md5sum sample.iso
d8e8fca2dc0f896fd7cb4cb0031ba249 sample.iso
SHA256のハッシュ値を確認するときは「sha256sum」コマンドを使って、以下のように実行します。
$ sha256sum sample.iso
f2ca1bb6c7e907d06dafe4687e579fce76b37e4e93b7605022da52e6ccc26fd2 sample.iso
あとがき
WindowsやLinuxでダウンロードしたファイルの同一性を確認したいときは、上に紹介しているコマンドを使えば事足りるでしょう。