Я изменил свой старый пост. Я попробовал функцию crypt() и теперь пытаюсь работать с password_hash() и password_verify() для проверки зашифрованного пароля, поступающего из базы данных, но при каждом вызове функция password_hash() перенастраивает другую зашифрованную строку и пароль_verify() не может ее сопоставить.
Вот как я это делаю.
//please ignore the syntax error if any
$data = '11';
$dbpass = password_hash($data, PASSWORD_BCRYPT);
echo $dbpass; // displays the random strings on each page refresh.
Как только пароль будет сохранен в базе данных, он не получит соответствия во время процесса входа в систему. Ниже приведена моя фактическая функция.
private function process_data($password){
$password = __STR.$password.__STR;
return password_hash($password, PASSWORD_BCRYPT);
}
private function processed($login_password, $dbpassword){
$login_password = __STR.$login_password.__STR;
return password_verify($login_password, $dbpassword);
}
В каждом вызове функции для создания хешированной строки для пароля функция возвращает другую строку в следующий раз.