(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Verifica que una contraseña coincide con un hash
Verifica que el hash proporcionado coincide con la contraseña proporcionada. La función password_verify() es compatible con la función crypt(). Por lo tanto, una contraseña hasheada por la función crypt() puede ser utilizada con la función password_verify().
Tenga en cuenta que la función password_hash() devuelve el algoritmo, el "cost", y el salt como partes del hash devuelto. Sin embargo, toda la información necesaria para verificar el hash está incluida. Esto permite a la función verificar el hash sin necesidad de almacenamiento separado para la información concerniente al algoritmo y al salt.
Esta función es segura contra ataques por tiempo.
password
La contraseña del usuario.
hash
Un hash creado por password_hash().
Ejemplo #1 Ejemplo con password_verify()
Este es un ejemplo simplificado; se recomienda re-hashear una contraseña correcta si es necesario; ver la función password_needs_rehash() para un ejemplo.
<?php
// Ver el ejemplo proporcionado en la página de la función password_hash()
// para saber de dónde proviene esto.
$hash = '$2y$12$4Umg0rCJwMswRw/l.SwHvuQV01coP0eWmGzd61QH2RvAOMANUBGC.';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'La contraseña es válida !';
} else {
echo 'La contraseña es inválida.';
}
?>
El resultado del ejemplo sería:
La contraseña es válida !