在密码哈希中使用microtime()

时间:2015-07-29 21:33:05

标签: php hash

我看到了使用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);
}

以及最后一段代码如何验证哈希? (隐藏方法)

1 个答案:

答案 0 :(得分:0)

自PHP 5.5起,您可以比使用password_hash()滚动更方便地使用password_verify()crypt()进行散列密码。

哈希密码:

$hash = password_hash( $password, PASSWORD_DEFAULT );

然后验证用户输入的哈希值:

if ( password_verify( $password, $hash )) {
    // Password is good
}