1

次のように新しいユーザーのパスワードを設定したとします。

$salt = random_string(40) // some method that spits out a random
                          // 40 alpha-numeric character string

$password = hash('sha256', $_POST['password'] . $salt);

次に、ユーザーがログインしたいときに、ハッシュされたdbパスワードに入力したユーザーを比較するにはどうすればよいですか?

4

2 に答える 2

3

ログイン時に、

  1. 登録時にデータベースに保存したパスワードハッシュとソルトを取得します(アカウント名または電子メールアドレスを使用)
  2. 提供されたパスワードを同じ方法と同じソルトでハッシュします
  3. 取得したハッシュと保存したハッシュを比較します。それらが同じである場合、パスワードは一致します。

ここで重要なのは塩を保存することです。

于 2011-02-17T19:27:15.607 に答える
1

ソルトを保存したら、ユーザーが投稿したものに同じアルゴリズムを適用し、保存されたパスワードと結果を比較します。

于 2011-02-17T19:26:32.080 に答える