アプリ版:「スタンプのみでお礼する」機能のリリースについて

phpの会員サイトにてパスワードの暗号化を実装したいと思い、投稿させていただきました。

会員の人はパスワード変更→暗号化でDBに登録。
変更したパスワード(暗号化されている)でログインという流れを作りたいのですが、
暗号化でDBに登録まではできましたが、ログイン認証で一致せず困っております。

どなたか教えていただけないでしょうか?

例:
<input type="password"name="password" value="1234">
$pass = $_POST[pass];
$password = crypt($pass);
$passwordをDBに保存。

その後ログアウトし、ログインのパスワードで1234を入力すると「一致しません」となります。
login認証の際にどのように実装してよいのかわからず困っています。

また、上記の内容にてセキュリティ上に問題がありましたらご指摘お願いします。

A 回答 (1件)

提示されたソースでは第二引数(salt)を省略されているようですが、適切な文字列を指定してもダメですか(当然ですが登録時・参照時で同じsaltを使います)。



RTFM.
http://php.net/manual/ja/function.crypt.php
salt - ハッシュのもととなる salt 文字列。省略した場合の挙動は アルゴリズムの実装によって決まるので、予期せぬ結果となることがあり得ます。


(蛇足)
「例」として提示されているソースは、input要素のname属性と$_POSTの添え字が違うなど、ちょっと例としても不適切ではないですかね(汗
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!