元Webデザイナー兼コーダーの備忘録

ウェブデザインやプログラミング、ブログのカスタマイズなどについてアウトプットしています。

 メニュー

» HTML入門のまとめはこちらです。

【TVアニメ】ゴジラS.P<シンギュラポイント>で出てくるハッシュ関数(MD5)について

ゴジラS.Pでハッシュ関数の話が出てきます。ハッシュは、基本情報技術者試験で出題されることもあるので、一応触れておこうと思います。

ゴジラS.P<シンギュラポイント>とは

ゴジラ”の新たなプロジェクトとして、完全新作TVアニメシリーズ『ゴジラ S.P <シンギュラポイント>』が始動!これまでの作品とはまったく違う、まったく新しいオリジナルストーリーが、全13話のTVアニメとして展開。人類に訪れる未曽有の脅威に、女性研究者の“カミノメイ”と、男性技術者の“アリカワユン”という2人の若き天才が、周囲の人間たちと共に挑んでいく姿が壮大なスケールで描かれる。 イントロダクション | 完全新作TVアニメシリーズ「ゴジラ シンギュラポイント Godzilla Singular Point」公式サイトより抜粋

ゴジラのアニメ作品です。これまでの作品とは趣が異なり、SFに寄った話になっています。

ハッシュ関数とは

簡単にいうと、ハッシュで求めるものは「割り算の余り」です。割り算の余りがハッシュ値です。それをプログラム上で関数化したものがハッシュ関数です。ハッシュ関数にはいくつか種類があります。MD5は、そのひとつです。

暗号とハッシュの違い

暗号は、解けることが前提です。何かの法則に基づいて暗号化します。法則が分かれば暗号は解けて、答えが分かります。例えば、推理もので出てくるダイイングメッセージは、解けることが前提で出てくると思います。

ハッシュは、解けることを前提としていません。こちらもある法則に基づいてハッシュ化します。しかし、法則が分かっても元の答えを導くのは困難です。ハッシュにはそのような特性があります。

ハッシュの利用例

本人だけが知っていれば良いものに、ハッシュを使うのが良いです。例えば、Webサービスのログイン認証です。この場合、最初にパスワードをハッシュ化したものをデータベースに保存します。次回からは「DBに保存しているハッシュ値」と「ログイン時に入力されたパスワードをハッシュ化して得られたハッシュ値」を比較して、合っているか確認します。合っていれば認証成功です。本当はもっと複雑なことをしていると思いますが、簡潔にいうと以上のようなことをしています。

ログイン認証でハッシュが使われるのは、セキュリティ対策のためです。ハッシュ値が漏洩しても元のパスワードが何なのか解読するのは困難であるからです。

作中のハッシュ関数についてのやり取り

作中に出てくる新素材が「この世では有り得ない物質」と語られるのですが、それがどのくらい有り得ないのかの例えとして、ハッシュ関数が登場します。

以下に、作中で出てくるハッシュ関数の入出力値を抜粋します。

  • どんなものでも=0832ad2a043c385c29fc71b1b1119c93
  • 0123456789=781e5e245d69b566979b86e28d23f2c7
  • へのへのもへじ=a326a4127563c583fb1aabf73b3c6c89
  • 国破山河在=d1dbad34e95de498739ae267841c6223
  • THIS IS A PEN.=5eeca5705306a253af453f8095293baf
  • はんにゃしんぎょう=7e7a48c0416fbd1b3f604fdb1dc47fe3
  • print("Hello World!")=5373a64586b720d400d7129dd72af164

  • ???=14980c8b8a96fd9e279796a61cf82c9c

ハッシュ値が「14980c8b8a96fd9e279796a61cf82c9c」になる入力値を探すシーンがあります。ヒントは「解けばわかる」なので、答えは「解けばわかる」です。「解けばわかる」をハッシュ化すると「14980c8b8a96fd9e279796a61cf82c9c」になります。参考サイトで確認できるので、気になる方は確認してみてください。

参考サイト

» HTML入門のまとめはこちらです。