Я новичок в bcrypt, это мой тестовый код, который возвращает хешированный пароль
if (!$errName && !$errEmail && !$errPassword) {
require "libs/password.php";
$hash = password_hash($password, PASSWORD_BCRYPT); //password_compat function
if (password_verify($password, $hash)) {
$result = "$name\n$hash\n$email";
} else {
echo "didnt work";
}}
когда я проверю это в https://www.dailycred.com/blog/12/bcrypt-calculator он не соответствует примеру пароля «1234» возвращает $ 2y $ 10 $ Wz / 1MRBMFauEtGdJNeaKq.5INBmig0Nip2urekRON8ekLkYesdj6i
и когда я проверяю его с помощью dailycred, я получаю неверную ревизию соли
Ваша проблема в том, что библиотека PHP использует новый префикс «2y».
Он использовался в этой и некоторых других библиотеках, потому что в исходном коде с префиксом «2a» была ошибка, и требовалось различать старые и новые безопасные коды.
Так что просто замените 2y на 2a.
Других решений пока нет …