Mam małą zagwózdkę.
<?php
$password = 'qwerty1212';
$pass_z_input = 'qwerty1212';
$password_encrypted = password_hash($password, PASSWORD_BCRYPT);
if (!password_verify($pass_z_input, $password)) {
echo 'wrong Password';
}else {
echo 'Password ok';
}
?>
<br /><br />
<?php
$password = 'qwerty1212';
$pass_z_input = 'qwerty1212';
$password_encrypted = password_hash($password, PASSWORD_BCRYPT);
echo " " . $password_encrypted;
echo "<br /><br />";
if (!password_verify($pass_z_input, '$2y$10$154ABeO1tox7Yu6n2IzUKe4irbmFcnop5OLbgiQ2rjIolClZeoYbm')) {
echo 'wrong Password';
}else {
echo 'Password ok';
}
?>
Pierwszy przyklad zwraca false choc dane sa identyczne. Natomiast jak zastąpie wygenerowanym haslem i wkleje ciąg znaków wtedy jest ok. Ktos mial podobny problem z tym ?
w ogóle to jak przypisze ten ciag znakow dla zmiennej i chce ja wyswietlic to zwroci mi tylko pierwsze 6 znakow i tyle. To tak jakby w pierwszym przykladzie zmienna $password zawierala tylko 6 znakow i dlatego jest false. Tylko dlaczego