弊社の新人研修では、ハッシュ関数について触れています。

SHA-2やMD5といったハッシュ関数です。

解説の中では主にハッシュ関数はデジタル署名の文脈でお話しています。

また、実習ではパスワードをハッシュ化してデータベースに保存するようにしています。

それ以外のハッシュ関数の使い方として、偽物ソフトウェアの検出にも使うという方法があります。

例えば、7-zipのようなアーカイバにはハッシュ関数の機能があります。

7-zipのインストールについては別途インターネットで調べてください。

以下の画面はNetBeans IDE8.2のダウンロードの画面です。

赤字で囲われた部分にSHA-256につづいて文字列の羅列が見えますね。

これがこのソフトウェアを丸ごとハッシュ化したときのハッシュコードです。

次に、ダウンロードしたファイルから先の7-zipを使いハッシュコードを求めます。

やり方は簡単で、右クリックして、「CRC SHA」>「SHA-256」を選ぶだけです。

すると以下のような情報が現れます。

SHA256

このハッシュコードが先のハッシュコードと一致すれば本物であると確かめられるというものです。

言うまでもなく、ダウンロードサイトそのものが偽物だった場合は、ハッシュコードが一致しても安心はできませんが。

以上、ハッシュ関数を使ってソフトウェアの偽物を見破るお話でした。