2014年10月13日月曜日

SHA-1のハッシュ値を確認する方法(Windows)

ダウンロードしたファイルがハッキングなどにより書き換えられていないかを確認するには、ハッシュ値を利用すると便利です。場合によっちゃこれだけだと不十分ですが、とりあえずは。。ある種の安全性を担保する必要があるファイルを配布するサイトでは、よくファイルのSHA-1値が表示されています。

WindowsPCでは、通常そのままではSHA-1ハッシュ値やMD5ハッシュ値を確認することが出来ませんが、マイクロソフト公式のサポートから、ハッシュ値確認用ソフトウェアがダウンロード可能です。
ただ、こんなものを使うのはそっち系の人のみなので、使い方の説明を書いておこうと思います。
分かり易くは書かれていますが、人によっては厳しい気がしないでもないので(特に、このページまでたどり着かれた方とか)、より細かく書いておこうと思います。

以下のリンクに説明があります。
http://support.microsoft.com/kb/889768/ja

ここから、更に実行ファイルを取得します

直接取得する場合は以下のリンク内にあります。
http://support2.microsoft.com/kb/841290

リンク先から、ファイル チェックサム整合性検証ユーティリティ ・ パッケージをダウンロードして、まずどこかに保存しておいてください。

次に、D、E、F等のハードディスクドライブ(どれでもいいです)の直下(開いてすぐの場所。EならE:\)に、FCIVという名前のフォルダを作ります。今回は説明が簡単なのでEドライブに作成することにします。

その中に、インストールしたパッケージをほうりこんで、ダブルクリックでそこに展開します(展開先にもFCIVフォルダ内を選択します)。

次に、システムパスにこのソフトを登録します。間違えるとえらいことになる(PCが動かなくなる)可能性があるので、慎重にやってください(何かあっても自己責任でお願いします)。
やり方は、Windows7の場合、まずコンピュータをダブルクリックし、システムのプロパティ→システムの詳細設定を開きます。システムのプロパティが表示されるので、詳細設定タブから環境変数をクリックします。下側のシステム環境変数の一覧で、変数がPathになっているものをダブルクリックします。

そして、そこに書かれているパスの一番最後に

;E:\fciv

を追加します。ここは、非常にざっくり書くとコマンドプロンプトからすぐに目的のソフトが使えるように登録しておく場所で、1つの;記号でそれぞれを区切っています。これで、E:\fcivフォルダ内のプログラムをすぐに呼び出せるようになりました。

では、実際にSHA-1ハッシュ値を確認してみましょう。ハッシュ値を計算するファイルを、ひとまずEドライブの中においておきます。とりあえず、ファイルを入れるフォルダ名はsample、確認するファイルはsample1.txtにします(中身は「テストです」と書いて、メモ帳で作って下さい)。位置は、E:\sampleとなります。

スタートメニューから、コマンドプロンプトを起動し、以下を入力します。

fciv -sha1 e:\sample\sample.txt

表示された長い文字列がこのファイルのSHA-1値になります。この値は、内容が変わると全然違うものになります。ためしに、sample.txtの中身を「テストです。」にしてみましょう。「。」が増えただけです。同様の手順で確認すると、全然違う値になるのが分かるかと思います。つまり、勝手に中身を書き換えられていたら検出することが出来るのです。もっとも、ダウンロードしたファイルと、SHA-1値を表示しているwebサイトの両方が書き換えられていたらアウトなんですがw。なお、調べたいファイルの、拡張子(.txtとか)の入れ忘れにはご注意ください。

プロンプトの式は、分かり易く書くと

実行するプログラム名 実行モード 調べたいファイルの場所

というようになっています。実行モードを-md5にすると、MD5の値が計算可能です。
以上ですー。