PHP password_verify() Function
The PHP Hashingpassword_verify()function is used to verify whether a password matches a hash. In PHP, a "hash" refers to a fixed-size string of characters produced by a hashing algorithm. The input data can be of any size, and the algorithm generates a unique output based on that input.
This function returns a boolean value 'true' if the password matches a given hash; otherwise, it returns "false". This can allow the password_verify() function to verify a hash without needing separate storage for the salt or algorithm information.
Syntax
Following is the syntax of the PHP Hashing password_verify() function −
boolean password_verify( string $password , string $hash )
Parameters
Following are the parameters of this function −
- password − The users password.
- hash − A hash is created bythe password_hash() function.
Return value
This function returns "true", if the password and hash match, or false otherwise.
Example 1
Following is the basic example of the PHP Hashing password_verify() function −
<?php
$passw = "53nh46u74m3nt3";
$hashp = '$argon2i$v=19$m=65536,t=4,p=1$dmJMWlhFUEFvaTFSeFhFNQ$Cpgdj1rHw21Y7WqnMpUAFFp7uLubGoU7Zxc09Pn8t9k';
echo "The given password: $passw";
echo "\nThe given hash: ";
echo $hashp."\n";
$test = password_verify($passw, $hashp);
if($test == true) {
echo "Password is valid";
} else {
echo "Invalid password";
}
?>
Output
The above program produces the following output −
The given password: 53nh46u74m3nt3 The given hash: $argon2i$v=19$m=65536,t=4,p=1$dmJMWlhFUEFvaTFSeFhFNQ$Cpgdj1rHw21Y7WqnMpUAFFp7uLubGoU7Zxc09Pn8t9k Password is valid
Example 2
If the given password does not match a given hash, the PHP Hashing password_verify() will return "false" −
<?php
$passw = "53nh46u74m3nt3";
$hashp = '$argon2i$v=19$m=1024,t=2,p=2$d1JJWnNHMkVEekZwcTFUdA$zeSi7c/Adh/1KCTHddoF39Xxwo9ystxRzHEnRA0lQeM';
echo "The given password: $passw";
echo "\nThe given hash: ";
echo $hashp."\n";
$test = password_verify($passw, $hashp);
if($test == true) {
echo "Password is valid";
} else {
echo "Invalid password";
}
?>
Output
After executing the above program, the following output will be displayed −
The given password: 53nh46u74m3nt3 The given hash: $argon2i$v=19$m=1024,t=2,p=2$d1JJWnNHMkVEekZwcTFUdA$zeSi7c/Adh/1KCTHddoF39Xxwo9ystxRzHEnRA0lQeM Invalid password