ハッシュでファイルを確認
更新 2020/09/27(日)
文責 炭本 治之
■ハッシュ計算が活用できるケース
ダウンロードしたファイルを展開したらエラーになった!
こんな経験は誰でもあると思います。
次のような原因が考えられます。
・ダウンロード途中でファイルが壊れた(ダウンロード失敗)
・そもそもWebサイト上のファイルが壊れていた
このような場合に,ファイルのハッシュを求めると原因が明らかになります。
■ハッシュとは
ファイルから計算される値で,例えば,SHA1のハッシュ計算では,
SHA1: BDFBAAE5FFEBFFD5A60CDDE725AEC3A91411509B
のような値になります。
ファイルの内容を1バイトでも書き換えると,ハッシュの値はまったく異なる値になります。
Webサイト上でzipファイルなどが公開されている場合に,
そのファイルのハッシュも示されていることがあります。
ファイルを自分のパソコンにダウンロードした後に何か問題が発生したら,
ダウンロードしたファイルのハッシュを計算してみます。
Webサイト上のハッシュの値と,ダウンロードしたファイルのハッシュの値とが一致すれば,
正常にダウンロードできていると確認できます。
(1)ハッシュは確かに一致した,しかし展開でエラー。
→ダウンロードは正常。
Webサイトのファイルが壊れている。
(2)ハッシュが不一致になった。
→ダウンロードでファイルが壊れている。
■ハッシュの計算方法
1.OSがWindowsXPの場合,fcivコマンドを利用
windows-kb841290-x86-enu.exe
をダウンロード,インストールしします。
ただし,fcivコマンドは,ファイルのパスに全角文字やスペースがあると正常に動作しません。
そこで,ハッシュを確認するファイルは,いったんC:\の直下に保存します。
fcivコマンドツールをC:\Program Files\Fcivにインストールしてあって,
C:\bquestion100.zipの,SHA1ハッシュ値を計算するには,次のようにします。
(1)すべてのプログラム、アクセサリ、コマンドプロンプトで、コマンドプロンプト画面を開く
(2)次の3行を選択してコピー(Ctrl+C)
"C:\Program Files\Fciv\fciv.exe" -sha1 C:\bquestion100.zip > sha1.txt
notepad sha1.txt
exit
(3)コマンドプロンプト画面で、左上のアイコンをクリック、編集、貼り付け
→これで、fcivコマンドが実行されて、実行結果がsha1.txtに出力され、
メモ帳でsha1.txtを開いて、コマンドプロンプト画面を閉じることができます。
2.OSがWindows Vista以降の場合,certutilコマンドを利用
ダウンロードフォルダにbquestion100.zipを保存した場合,SHA1ハッシュ値を計算するには,
次のようにします。
(1)すべてのプログラム、アクセサリ、コマンドプロンプトで、コマンドプロンプト画面を開く
(2)次の3行を選択してコピー(Ctrl+C)
certutil -hashfile C:\Users\user\Downloads\bquestion100.zip > sha1.txt
notepad sha1.txt
exit
(3)コマンドプロンプト画面で、左上のアイコンをクリック、編集、貼り付け
→これで、certutilコマンドが実行されて、実行結果がsha1.txtに出力され、
メモ帳でsha1.txtを開いて、コマンドプロンプト画面を閉じることができます。
3.フリーソフトの7-Zipを利用する
7-Zipは,フリーの圧縮・解凍ツールですが,ハッシュを計算する機能もあります。
OSがWindowsXPでも利用可能です。
7-Zipのインストーラをダウンロードし,インストールした後は,次のようにします。
エクスプローラでファイルを右クリック,CRS SHA,SHA-1を選択
これが一番簡単ですね。
(終わり) ページの先頭へ
|