ここ最近ハッシュ値に興味があるので、我が家のパソコンたちにも導入してみようと思い立ちました。さて、そもそもハッシュ値とは…
ハッシュ関数(ハッシュかんすう、hash function)とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、または、その様な数値を得るための関数のこと。ハッシュ関数から得られた数値のことをハッシュ値または単にハッシュという。
ハッシュ関数は主に検索の高速化やデータ比較処理の高速化、さらには改竄の検出に使われる。例えば、データベース内の項目を探したり、大きなファイル内で重複しているレコードや似ているレコードを検出したり、核酸の並びから類似する配列を探したりといった場合に利用できる。
とか、
ハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法。生成した値は「ハッシュ値」と呼ばれる。「要約関数」「メッセージダイジェスト」とも呼ばれる。通信回線を通じてデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較すれば、データが通信途中で改ざんされていないか調べることができる。不可逆な一方向関数を含むため、ハッシュ値から原文を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。通信の暗号化の補助や、ユーザ認証やデジタル署名などに応用されている。
と説明されています。つまり上手く使えば、ファイルが改竄されていないかどうかが証明できるというわけです。一見同じように見えるファイルでも、ちょっと内部的な変化があれば反応してくれます。
どんな感じでハッシュ値が生成されるかは「ハッシュ値生成君」を試してみてください。
で、ここからが本題なのですが、ハッシュ値を使うのに便利なソフト「HashTab」があります。試しにWindowsXPのマシンにインストールすると、このようになります。
ファイルを右クリックしてプロパティを開くと、ハッシュ値タブがあります。この中にハッシュ値が書かれており、さらに他のファイルとの比較が簡単にできるようになっているのです。こりゃ便利。
ところが、このHashTab(現在のバージョンはv3.0.0)をWindows2000のマシンにインストールすると…
ハッシュ値のタブが出てきて、一見使えそうな感じ。ところが、
ハッシュ値タブをクリックした途端、タブが消えてしまいます。現行のバージョンではWindows2000をサポートしていないとはいうものの、どうも強制的に使えないようにしているような気がします。v1.9などはWindows2000で使えそうなのですが、旧バージョンはどこにも置いてありません。これは困った。
散々探して、ようやくWindows2000で使えるバージョンがありました。MediaFireというサイトに「ProgramAddons HashTab 2.1.1.cab」があったので早速ダウンロード。
やったー! 無事に使えましたー。
HashTabは、単体のファイルに対しては簡単で便利ですが、大量のファイルのハッシュ値を一括して取得したい場合は、FastHashが、動作が速くて対応している種類が多くてオススメです。HashTabの旧バージョンを見つけることができなかったときは、FastHashのみ使おうと考えていました。
黒翼猫様に是非最新バージョンを動くようにしてもらいたいナー。
2010年2月18日、Windows2000は10歳の誕生日を迎えました。そして2010年7月13日、Windows2000はMicrosoftからのサポートを打ち切られます。サポートを打ち切られる前にそれなりに武装しておきましょ。
セキュリティーのサポートがなくなるということは、今後は服が破れても縫ってくれないので肌丸出しでいなければならないということ。とても怪我しやすい状態になってしまいます。
でもまぁ、Windows2000より安定性が劣るXPや、それ以降の装飾過多勘違い肥満OSに乗り換える気はさらさらないので、そのあたりの管理に気をつけながらWindows2000を使い続けることにします。
しかし、10年前のOSより魅力がない最近のOSって…全然ダメやんか。
あと6ヵ月たらずでサポートが切れるWindows2000。今までファイアーウォールに関しては無頓着だったのですが、そろそろ自衛しましょう。というわけで、フリーのファイアーウォールソフトウェアとしては有名すぎる「ZoneAlarm」をインストールしてみます。今回はEMOBILEでルーターを通さず直接接続しているもっとも危険なマシン、SHARP Mebius MT1-H1Sを使います。(っていうか、いつもこのマシンだけどさ。SSDとか…)
ZoneAlarmのウェブサイトにいきなり行っても、なかなかフリー版を見つけることができませんでした。初心者のためのZone Alarm(日本語版)導入解説を見れば、全部書いてあるのでいちいち説明する必要もないのですが、1点だけWindows2000特有の症状があるので、それを踏まえて導入方法を書いてみますネ。
まずはダウンロード。
そして、そのファイルを開いてインストールを開始します。ところが…
文字の一部が化けて□□□になっています(通称:豆腐)。これがWindows2000特有の症状です。ソフトの開発時にWindows2000で検証していないのかなー。このままでもインストールできるのですが気分がよろしくない。ということでまたもや黒翼猫さんの御力を拝借します。「Windows2000 文字化け対策」からレジストリファイルを頂戴しました。レジストリ登録後、再起動してインストールを再度行います。
「インストール」と正しく表示されましたー。気分爽快っ。
情報を入力して先に進みます。
画面の指示に従ってさらに進みます。
今回は「いいえ、結構です」にしておきます。
さらに進みます。
再起動してインストール完了です。
時間がある人はチュートリアルを見ておくのも良いでしょう。(見てないケド。)
必要に応じて設定しましょう。これで外部からの攻撃から保護されて安らかに過ごせます。
長い間Windows2000を使い込んでいると、いろいろなソフトをインストールしたりして純真無垢でなくなるので、Windowsの終了時に「プログラムの終了」ダイアログボックスが表示されたりします。
応答待ち状態にあるプログラムは、自動的に強制終了されません。このまま放置しておくといつまで経ってもシャットダウンされないので精神衛生上よろしくないっ。こんなときにプログラムを自動的に強制終了させるように、レジストリを変更しました。まぁ、「何を今更…」な技なのですが、実は今まで使っていなかったのです。
こんな操作がイヤな人のために、いつものようにワンタッチ登録ファイルを置いておきます。
XPでも使えます。Vista? 7? 何それ?
ついに我が家にもPentium4搭載機がやってきましたー。今までのPentiumIII機に代わり、いろいろなことをそのマシンにさせるわけですが、怪しいソフトや怪しい実験でOSを汚すのはもうウンザリ。
というわけで、今後怪しい作業はVirtual PCの上でやることにしましょ。
さて、Windows2000では、Virtual PC 2004しか選択肢がないわけですが、せっかくなのでVirtual PC 2007を載せてみます。その気になればVistaも動かせる…はず。(Vistaなんてまったく興味ないけどさ。)
インストールしたVirtual PC 2007を起動すると、英語でインストールされていてちょっとびっくりしましたが、初期ウィザードをキャンセルし、File→Options→LanguageでJapaneseに変更して、OKを押して一旦終了させます。再度起動すると日本語で表示されるようになって、安心して使うことができます。
初回起動時に、
というふうに怒られてしまいました。これは同梱のmsxml6-KB927977-enu-x86.exeをインストールすることで回避できます。