什么是更好的?查询 (sql) 或 hash_equals

What is better? query (sql) or hash_equals

A) SELECT id, username FROM users WHERE username = ?和 password_hash = ?

B) hash_equals($password_hash_real, $password_hash_user)

很明显,我看有没有选中一行,看密码是否正确

哪个更安全?

检查密码匹配不是数据库的工作。此外,您可能想知道用户是否存在,尽管散列值不是很好。所以我会在 PHP 脚本中完成。

hash_equals() 并不意味着用散列来验证密码。使用 password_hash()password_verify(),因为它们会为您添加盐和所有东西。