PHP - hash_equals() 函式



定義和用法

hash_equals() 函式同時比較兩個給定的字串,如果相等則返回 true。

語法

hash_equals ( string $known_string , string $user_string ) : bool

引數

序號 引數及描述
1

known_string

要比較的字串。

2

user_string

使用者提供的字串。

返回值

PHP hash_equals() 函式返回一個布林值,即如果字串相等則返回 true,否則返回 false。

PHP 版本

此函式將在 PHP 5.6.0 及更高版本中起作用。

示例 1

hash_equals() 的工作原理 -

<?php
   $known_str = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $usr_str   = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $res = hash_equals($known_str, $usr_str); 
   var_dump($res);
?>

輸出

這將產生以下結果 -

bool(true)

示例 2

使用 hash_equals 比較雜湊 -

<?php
   $known_str = crypt('tutorialspoint','$5$rounds=1000$salttest$');
   $usr_str   = crypt('helloworld','$5$rounds=1000$salttest$');
   $res = hash_equals($known_str, $usr_str); 
   var_dump($res);
?>

輸出

這將產生以下結果 -

bool(false)

示例 3

比較來自 hash() 和 hash_file() 的雜湊 -

<?php
   $hash1 = hash("md5", 'Welcome to Tutorialspoint');
   file_put_contents('filetest.txt', 'Welcome to Tutorialspoint'); 
   // create file filetest.txt with content : 'Welcome to Tutorialspoint'
   $hash2 = hash_file('md5', 'filetest.txt');
   $_compare = hash_equals($hash1, $hash2); 
   var_dump($_compare);
?>

輸出

這將產生以下結果 -

bool(true)
php_function_reference.htm
廣告