How do you use bcrypt for hashing passwords in PHP?.Как вы проверяете пароли пользователей, поданные с помощью хэша bcrypt?
Отправка паролей к MySQL с помощью:
$options = array('cost' => 11);
$password = password_hash("$_POST[password]", PASSWORD_BCRYPT, $options);
Пароль в MySQL показывает, как:
mysql> SELECT password FROM users;
+-----------------------------------------------+
| password |
+-----------------------------------------------+
| $2y$11$O77omA4vaNKu0DScTXCBd.FSXKSV0PD0piEokV |
+-----------------------------------------------+
На стороне входа:
$hash = $row['password'];
$password = $_POST[password];
if (password_verify($password, $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
Логин не работает, и всегда показывает :
Неверный пароль.
Я вставил соответствующие части, поскольку файлы довольно большие. Если требуется больше (возможно, не актуально), я могу вставить.
@jszobody Существует. – user2656114
У вас есть что-то еще в вашем коде где-то в другом месте. Код, который вы опубликовали, отлично работает: http://3v4l.org/lmK9f – jszobody
@jszobody Действительно, столбец MySQL был недостаточно длинным * face palm *. Это было в 45 лет до этого, я изменил его до 60. Есть ли какая-то «предложенная» длина или что-то, что могло бы предотвратить любые будущие проблемы? – user2656114