de alguna manera estoy luchando con algo que esperaba que fuera sencillo. Creé el siguiente código solo con fines de prueba y esperaba que diera la respuesta "contraseña válida" en caso de que el $login_password proporcionado sea "123456". Pero siempre recibo "Contraseña no válida".
$login_password = $_POST['login_password']; $login_password_hash = password_hash($login_password, PASSWORD_DEFAULT); $target_password = '123456'; $target_password_hash = password_hash($target_password, PASSWORD_DEFAULT); if ( password_verify($login_password_hash, $target_password_hash) ) { echo "Valid password."; } else { echo "Invalid password."; }Incluso recibo "Contraseña no válida". al cambiar el password_verify para comparar la misma variable consigo misma:
password_verify($login_password_hash, $login_password_hash)Un poco de ayuda es muy apreciada :)
Cambiar la primera línea en este
if ( password_verify($login_password_hash, $target_password_hash) ) { echo "Valid password."; }Para
if ( password_verify($login_password, $target_password_hash) ) {Debe pasar una contraseña de texto simple sin hash como primer parámetro
if ( password_verify($login_password , $target_password_hash) ) { echo "Valid password."; } else { echo "Invalid password."; }