0

嘿。我正在开发一个网站,我想为丢失密码的用户提供一个密码恢复系统,但我不想保存用户的电子邮件地址或任何私人数据。我想保存电子邮件地址的哈希值,但如果数据库受到破坏,可以检查电子邮件地址是否已注册以及它属于哪个帐户。你有什么想法?

4

1 回答 1

1

为了防止数据库被破坏和哈希被提取,只需在兑现之前向所有电子邮件地址添加一些随机(但恒定的字符串)。例如,在散列之前添加“BLABLABLA”以将“joe@example.com”转换为“joe@example.comBLABLABLA”。它仍然不完美,但现在攻击者需要您的数据库、您的应用程序代码,对其进行逆向工程,并且知道这是他首先需要做的(数据库中没有提示您的应用程序之前修改了电子邮件地址哈希)。

于 2011-04-05T23:25:13.613 回答