我看到了一个使用microtime()进行密码散列的示例,如下所示
public function create_hash($value)
{
return $hash = crypt($value, '$2a$12$'.substr(str_replace('+', '.', base64_encode(sha1(microtime(true), true))), 0, 22));
}我想知道如何验证散列,并确保用户输入的密码与使用微时时保存在数据库中的密码相等?!
这就是哈希验证的代码。
private function verify_hash($password,$hash)
{
return $hash == crypt($password, $hash);
}最后一段代码是如何验证哈希的?(加密方法)
发布于 2015-07-29 21:42:45
从PHP5.5开始,您可以使用password_hash()和password_verify()对密码进行散列,这比使用crypt()更方便。
若要散列密码:
$hash = password_hash( $password, PASSWORD_DEFAULT );然后,要验证用户在散列中输入了哪些内容:
if ( password_verify( $password, $hash )) {
// Password is good
}https://stackoverflow.com/questions/31711540
复制相似问题