|
不可逆のパスワード生成 |
重要なパスワードが記録ファイルに保存されていると、何かの理由でパスワードが
見られてしまった場合大変です。
記録ファイルを見てもパスワードを推測できないようにするには crypt を使います。
【書式】
$変数 = crypt ("パスワード","暗号キー");
【例】
$aaa = crypt ("123456","ZA");
$aaa = crypt ($abc,"BN");
同じ暗号キーを使って同じ文字列を暗号化すると、生成されるのは同じ文字列となります。
暗号キーで使った文字は、生成される文字列の先頭に表示されます。
下の例では、123456789 という文字列を ZH という暗号キーを使い暗号化しています。
実行結果は ZHgoEw7HWfeCQ となりますが、ZHという暗号キーを別のものに変更すると
全く別の文字列になります。 (例えば ZR にすると結果は ZRX.aSb/NAzPA となります)
|
不可逆パスワードの確認方法 |
crypt を使った暗号化は、不可逆といい元に戻す事ができません。
この場合、同じように暗号を生成し、暗号化された文字列と一致しているかどうかを
確認する事で、正しいパスワードかそうでないかを判断する事ができます。
下の例では、同じ文字列を同じ暗号キーで暗号化し、与えられたパスワード(変数
$b の内容)
と比較し、同じであれば正しいパスワードと判断しています。
実際にはパスワードをフォームから受け取り、記録されているパスワードと上記処理により再度
暗号化、比較する事で安全にパスワードを保存する事ができます。
|
|
|
関連項目
・ CGIの作成に関する用語
・ CGI作成に関するFAQ
|
|