password_verify

(PHP 5 >= 5.5.0)

password_verifyComprueba que la contraseña coincida con un hash

Descripción

boolean password_verify ( string $password , string $hash )

Comprueba que el hash proporcionado coincida con la contraseña facilitada.

Observe que password_hash() devuelve el algoritmo, el coste y la sal como parte del hash devuelto. Por lo tanto, toda la información que es necesaria para verificar el hash está incluida Esto permite a la función de verificación comprobar el hash sin la necesidad de almacenar por separado la información de la sal o del algoritmo.

Parámetros

password

La contraseña del usuario.

hash

Un hash creado por password_hash().

Valores devueltos

Devuelve TRUE si la contraseña y el hash coinciden, o FALSE de lo contrario.

Ejemplos

Ejemplo #1 Ejemplo de password_verify()

<?php
// Ver el ejemplo de password_hash() para ver de dónde viene este hash.
$hash '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (
password_verify('rasmuslerdorf'$hash)) {
    echo 
'¡La contraseña es válida!';
} else {
    echo 
'La contraseña no es válida.';
}
?>

El resultado del ejemplo sería:

¡La contraseña es válida!

Ver también

add a note add a note

User Contributed Notes 2 notes

up
14
Vasil Toshkov
6 months ago
This function can be used to verify hashes created with other functions like crypt(). For example:

<?php

$hash
= '$1$toHVx1uW$KIvW9yGZZSU/1YOidHeqJ/';

if (
password_verify('rasmuslerdorf', $hash)) {
    echo
'Password is valid!';
} else {
    echo
'Invalid password.';
}

// Output: Password is valid!

?>
up
0
suit at rebell dot at
6 months ago
As Vasil Toshkov stated, password_verify() can be used to verify a password created by crypt() or password_hash()

That is because passwords created by password_hash() also use the C crypt sheme

If you want to verify older plain MD5-Hashes you just need to prefix them with $1$

See https://en.wikipedia.org/wiki/Crypt_(C) for more information.
To Top