人们可以在我的网站上注册时事通讯。 他们的电子邮件地址和其他个人信息将在数据库中加密。
现在,对于该注册表格,我想检查新输入的电子邮件地址是否已经在我的数据库中,但由于所有电子邮件都已加密,我无法真正检查,除非我遍历每个可能的电子邮件地址,解密它并查看它是否与新输入的电子邮件相符?那是对的吗?或者有更有效的方法吗?
答案 0 :(得分:5)
如果您始终使用相同的加密密钥,则只需搜索加密版本即可。如果不这样做,您仍然可以另外存储地址的哈希值并与之进行比较。
答案 1 :(得分:0)
只是一个简单的想法:创建一个包含邮件的md5哈希的表,并在SQL WHERE子句中对此进行比较?不确定这是否非常有效..