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