password_verify()
作用:验证一个密码是否与哈希密钥相等。
语法: bool password_verify(string $password, string $hash)
参数:
$password
原始密码$hash
哈希密钥 返回值:- 相等返回
true
,否则返回false
。
说明:
由于使用 md5_crypt()
、crypt()
或者 password_hash()
函数(PHP 5.5+)
生成的哈希密文是随机并且每一次都不相同的,所以你无法使用 md5_crypt('12345') == md5_crypt('12345')
的方式来判断哈希值与字符串相等,而需要使用 password_verify()
来判断它们是否相等。
该函数自 ModPHP 2.0.9
起可用,用来替代此前的 hash_verify(string $hash, string $password)
函数,并且在 PHP 5.5+
版本中,这是一个内置函数。因此,该函数是推荐使用的,而 hash_verify()
由于功能与其相同(但参数顺序不同),将会在未来版本中被移除或者更改其行为(例如更改参数顺序使其成为额 password_verify()
的别名)。
示例:
<?php
$hash = md5_crypt('12345');
if(password_verify('12345', $hash)){
echo 'They are equal.';
}else{
echo 'The are not equal.';
}
//将输出 They are equal.