hash_equals
hash_equals
(PHP 5 >= 5.6.0, PHP 7)
hash_equals — 定时攻击安全字符串比较
描述
bool hash_equals ( string $known_string , string $user_string )
使用相同的时间比较两个字符串,不管它们是否相等。
这个功能应该用来缓解定时攻击;;例如,在测试crypt()密码哈希值时。
参数
known_string
已知长度的字符串进行比较
user_string
用户提供的字符串
返回值
两个字符串相等时返回TRUE
,否则返回FALSE
。
错误/异常
当提供的参数不是字符串时,发出E_WARNING
消息。
例子
示例#1 hash_equals()示例
<?php
$expected = crypt('12345', '$2a$07$usesomesillystringforsalt$'
$correct = crypt('12345', '$2a$07$usesomesillystringforsalt$'
$incorrect = crypt('apple', '$2a$07$usesomesillystringforsalt$'
var_dump(hash_equals($expected, $correct)
var_dump(hash_equals($expected, $incorrect)
?>
上面的例子将输出:
bool(true)
bool(false)
笔记
注意
:
注意
:
← hash_copy
hash_file →