【发布时间】:2014-01-08 22:42:39
【问题描述】:
人们可以在我的网站上注册新闻通讯。 他们的电子邮件地址和其他个人信息将在数据库中加密。
现在对于该注册表单,我想检查新输入的电子邮件地址是否已经在我的数据库中,但由于所有电子邮件都已加密,除非我遍历每个可能的电子邮件地址,否则我无法真正检查,解密它看看它是否与新输入的电子邮件匹配?那是对的吗?还是有更有效的方法来做到这一点?
【问题讨论】:
标签: security validation encryption
人们可以在我的网站上注册新闻通讯。 他们的电子邮件地址和其他个人信息将在数据库中加密。
现在对于该注册表单,我想检查新输入的电子邮件地址是否已经在我的数据库中,但由于所有电子邮件都已加密,除非我遍历每个可能的电子邮件地址,否则我无法真正检查,解密它看看它是否与新输入的电子邮件匹配?那是对的吗?还是有更有效的方法来做到这一点?
【问题讨论】:
标签: security validation encryption
如果您一直使用相同的加密密钥,您可以简单地搜索加密版本。如果不这样做,您仍然可以另外存储地址的哈希值并与之进行比较。
【讨论】:
只是一个简单的想法:使用邮件的 md5 哈希创建一个表并在 SQL WHERE 子句中进行比较?不确定这是否非常有效..
【讨论】: