Как сравнить пользовательский ввод с паролем БД при использовании хеш-метода PHP sha256? - PullRequest
1 голос
/ 17 февраля 2011

Скажем, я установил новый пароль пользователя, как это:

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

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

Как мне сравнить входные данные пользователя с его хэшированным паролем БД, когда он хочет войти?

Ответы [ 2 ]

3 голосов
/ 17 февраля 2011

Во время входа в систему,

  1. Получите хэш пароля и соль, которую вы сохранили в базе данных во время регистрации (используя имя учетной записи или адрес электронной почты)
  2. Хэшпредоставленный пароль с тем же методом и той же солью
  3. Сравните полученный хеш с сохраненным хешем.Если они совпадают, пароль совпадает.

Ключ здесь для хранения соли.

1 голос
/ 17 февраля 2011

сохранив соль, вы применяете тот же алгоритм к тому, что публикует пользователь, и сравниваете результаты с сохраненным паролем.

...