PHP password_verify() 函数



PHP 哈希 password_verify() 函数用于验证密码是否与哈希值匹配。在 PHP 中,“哈希”指的是由哈希算法生成的固定大小的字符字符串。输入数据可以是任何大小,并且算法根据该输入生成唯一的输出。

此函数如果密码与给定的哈希值匹配,则返回布尔值“true”;否则,返回“false”。这可以允许password_verify() 函数验证哈希值,而无需为盐或算法信息单独存储。

语法

以下是 PHP 哈希password_verify() 函数的语法 -

boolean password_verify( string $password , string $hash )

参数

以下是此函数的参数 -

  • password - 用户的密码。
  • hash - 哈希值由 password_hash() 函数创建。

返回值

如果密码和哈希值匹配,此函数返回“true”,否则返回 false。

示例 1

以下是 PHP 哈希password_verify() 函数的基本示例 -

<?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";     
   }
?>

输出

以上程序产生以下输出 -

The given password: 53nh46u74m3nt3
The given hash: $argon2i$v=19$m=65536,t=4,p=1$dmJMWlhFUEFvaTFSeFhFNQ$Cpgdj1rHw21Y7WqnMpUAFFp7uLubGoU7Zxc09Pn8t9k
Password is valid

示例 2

如果给定的密码不匹配给定的哈希值,则 PHP 哈希password_verify() 将返回“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";     
   }
?>

输出

执行上述程序后,将显示以下输出 -

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
广告