質問: Perl についての質問です。 大変初歩的な事なのですが、HTMLでのフォーム上でパスワードと ユーザーIDを入力してもらい、それをPOSTで受け取ります。 そこで、疑問なのですが、CGIのソース内にパスワードとユーザーIDを 正しいかどうか判定する場合、皆さんはどうなさっているのでしょうか? 自分は、外部テキストファイルにパスワードとユーザーIDを書き込んでおき、 それをOPENで読み込んで、比較しています。 しかし、これはCGIのソースなどを読まれた場合、あっさりばれてしまうのではないでしょうか? 他の方はパスワードを比較する場合などはどうされているのでしょうか?
回答: unix_md5_crypt - 相互に利用可能なMD5ベースのcrypt()関数を提供します MD5 等のハッシュ関数でハッシュ化しておき、それを比較する。 ハッシュ関数は一方向性なのでそのデータから元のパスワードを再生成する事は不可能。 比較するときは POST されたデータをパスワード生成時と同じ方法でハッシュ化すれば確認できる。