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