阅读(4584) (11)

password_verify()

2017-06-22 14:05:25 更新

作用:验证一个密码是否与哈希密钥相等。 语法: 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.