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
php_function_reference.htm
Advertisements