Я пытаюсь понять, как работает функция password_verify, чтобы использовать ее для сброса пароля. Я бы подумал, что это сработало бы, но хэши вроде бы не совпадают?Попытка понять password_verify PHP
$sUniqueCode = uniqid('1234', true);
$sHash1 = password_hash($sUniqueCode, PASSWORD_DEFAULT);
$sHash2 = password_hash($sUniqueCode, PASSWORD_DEFAULT);
$sHash3 = password_hash($sUniqueCode, PASSWORD_DEFAULT);
echo "Hash 1: ".$sHash1."<br>";
echo "Hash 2: ".$sHash2."<br>";
echo "Hash 3: ".$sHash3."<br>";
if(password_verify($sHash1, $sHash1)) {
echo "Hash 1 = hash 2 <br>";
}
if(password_verify($sHash3, $sHash1)) {
echo "Hash 1 = hash 3";
}
Я не получаю отголосок от двух последних условий, что мне здесь не хватает?
Контекст
Почему я хочу, чтобы это понять, потому что я хочу, чтобы генерировать один хэш одного и того же unique_id будут храниться в базе данных, и 1 следует отправить по электронной почте в качестве GET-переменной.
Если приведенный выше пример не работает, сравнение двух хэшей на моем веб-сайте не будет проверяться на истинное, верно?
Возможно, вы, вероятно, неправильно указываете аргумент, http://php.net/manual/en/function.password-verify.php –