【发布时间】:2018-01-24 17:34:18
【问题描述】:
我正在尝试验证 username 或 email 是否已在注册表中,但我不明白该怎么做,因为两者都在我的数据库中使用 password_hash() 进行了哈希处理,我该怎么做比较,用户在 pdo 中使用数据库输入?请解释一下代码。
【问题讨论】:
-
$hashedEmail = get_hashed_email_from_database(); if(password_verify($_POST['email'], $hashedEmail)){//they match}php.net/manual/en/function.password-verify.php -
顺便说一句,你为什么要散列电子邮件?
-
嗯……这就是为什么散列主要帐户标识符(用户名/电子邮件)并不是非常有用的原因。至少您需要在没有单独盐的情况下对其进行哈希处理,但这也不是非常有用。
-
为了安全起见,例如如果有人入侵了我的数据库,则电子邮件是“安全的”
-
非常安全,是的……而且没用。你不妨用随机垃圾替换它,因为它对你有好处。
标签: php pdo password-hash