これは僕が学部3年のときに習ったことなのだけど、案外知らない人が多い気がしたので、ここに記しておくことにします。 ユーザーがログインするタイプのサービスを作るとき、パスワードを設定することはよくあります。 サーバーでログインの認証を行うためには、ユーザーが入力したパスワードが正しいかどうかを、プログラムの中で判定しなければなりません。 が、このとき単純な文字列比較で認証をしている人はいませんか? 万が一サーバー内の情報が流出した場合を考えると、パスワードをソースファイルの中に直に書いたり、あるいはデータベースの中にそのまま保存したりするのはとても危険です。 また、サーバー管理者が、ユーザーが設定したパスワードを容易に見ることができてしまうというのも、ユーザーとして気持ちいいものではありません。 ではどうするか。 ハッシュ関数というのを使います12。 ハッシュ関数というのは暗号化方式の一種で