我看到了使用microtime()作为密码哈希的示例
public function create_hash($value)
{
return $hash = crypt($value, '$2a$12$'.substr(str_replace('+', '.', base64_encode(sha1(microtime(true), true))), 0, 22));
}
我想知道你怎么能验证哈希并确保用户输入的密码等于使用microtime时在数据库中保存的密码?!
那是哈希验证的代码
private function verify_hash($password,$hash)
{
return $hash == crypt($password, $hash);
}
以及最后一段代码如何验证哈希? (隐藏方法)
答案 0 :(得分:0)
自PHP 5.5起,您可以比使用password_hash()
滚动更方便地使用password_verify()
和crypt()
进行散列密码。
哈希密码:
$hash = password_hash( $password, PASSWORD_DEFAULT );
然后验证用户输入的哈希值:
if ( password_verify( $password, $hash )) {
// Password is good
}