SHA 512 散列和验证

Tom*_*lic 4 php hash sha512

好的,所以我尝试使用 SHA 512 验证密码,但无论如何它仍然返回 false,就像哈希检查不正确一样。

注册时生成哈希

$hashed = password_hash(hash('sha512', $password), PASSWORD_DEFAULT);
Run Code Online (Sandbox Code Playgroud)

并验证(登录时)我使用简单

public function isValidLogin($username, $password) {
    $sql = $this->connect();
    $sql->real_escape_string($username);
    $sql->real_escape_string($password);

    $res = $sql->query("SELECT password FROM users WHERE name='".$username."'");

    if ($res->num_rows >= 1) {
        while($row = $res->fetch_assoc()) {
            if (password_verify(hash('sha512', $password), $row['password'])) {
                return true;
            }
        }
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

Geo*_*mes 8

在注册时尝试使用此代码而不是您的代码。

 $hashed = hash("sha512", $password);
Run Code Online (Sandbox Code Playgroud)