A) SELECT id, username FROM users WHERE username = ?AND
B) hash_equals($password_hash_real, $password_hash_user)
显然,我会查看是否有一行被选中,以查看密码是否正确。
哪个更安全?
检查密码是否匹配不是数据库的工作。此外,您可能想知道用户是否存在,尽管散列不是一个好方法。所以我将在PHP脚本中执行。
hash_equals()
不表示用散列验证密码。使用password_hash()
和password_verify()
,因为它们可以为您添加盐和其他东西。