Пароли при сравнении различаются, в чём проблема?

$password2 = htmlspecialchars(mysqli_real_escape_string($connect, trim(password_hash($_POST['password2'], PASSWORD_DEFAULT))));
$password1 = htmlspecialchars(mysqli_real_escape_string($connect, trim(password_hash($_POST['password1'], PASSWORD_DEFAULT))));

И когда я вардамплю их, выводит:string(60) "$2y$10$sKbKD2542bugsHf1yfa4p.Hc9qFYkAg.v4v3/8wZurgSjnbn1Srgi" string(60) "$2y$10$BeneAC7jPXxUdmpv43g0TurZMz.TpmD5D3Vr33.7YAYlolMA/otey" (ввожу 123 и 123)
<input type="password" name="password2" value="">
	<label for="password">Введите пароль еще раз:</label>
	<input type="password" name="password1" value="">

это html
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
RTFM
Функция password_hash возвращает строку, в которой содержится алгоритм шифрования ($2y$ - CRYPT_BLOWFISH), параметры алгоритма (10$ - цена), случайно сгенерированную соль и собственно хэш от пароля с солью.
Соответственно, при каждом вызове соль меняется и хэш получается другой. При желании можно передавать третьим параметром массив опций, в том числе и фиксированную соль. Но лучше для проверки использовать функцию password_verify()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы