gpt4 book ai didi

php - 检查数据库中的哈希电子邮件地址

转载 作者:行者123 更新时间:2023-11-29 11:05:01 25 4
gpt4 key购买 nike

我正在开发的网站通过password_hash()以散列形式存储电子邮件地址我知道它是用于密码的,但该网站已经启动,因此无法返回。

现在,当新用户尝试注册时,我需要检查该用户使用的电子邮件地址是否尚未存在于数据库中。但由于所有电子邮件地址都经过哈希处理,我不能简单地使用:

$mail_query = mysql_query("SELECT email FROM userbase WHERE email='$email'");
$mail_num = mysql_num_rows($mail_query);
if ($mail_num != 0) {
$error = 'This email address is already in use.';

有什么办法吗?

该网站使用旧的 MySQL api。

最佳答案

唯一的方法,但非常糟糕的是获取 AAAAALLLL 电子邮件并检查它们......抱歉,甚至不记得 MySQL_* 函数,但首先您需要执行这样的查询:

从用户库中选择电子邮件

然后,当您收到所有电子邮件时,会循环并对每封电子邮件使用 password_verify...因此,在您的循环中,您应该有类似以下内容的内容:

if(password_verify($email,$hash)) {
echo "Email is already in use!";
break;
}

就是这样。祝你好运。但我不喜欢这样的哈希:如果你需要提醒用户密码怎么办?

关于php - 检查数据库中的哈希电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41554458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com