好的,所以我尝试使用 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)