是一个没有秘密的用户帐户激活电子邮件保留在数据库中合理安全吗?
题
我想创建一个通讯应用程序,用户自然会确认他们签署了通讯这样即使有些机器人输入的地址我们不要垃圾邮件他们。
我的想法是简单地向用户发送包含有网址,这是电子邮件地址的哈希和一些秘密的sitekey秘密链接的电子邮件。
我的问题如下: 有人通过注册几个帐号,从而接受他的地址秘密的散列,可以猜到sitekey,因此每个注册的电子邮件地址,她希望?
我不明白,可以从这样做可以赢得任何东西,但如果它是很容易的,没准会有人做到这一点,我被列入黑名单。
我不存储非激活用户账号的原因是简单的,我不希望从数据库中清除它们每隔x天。
解决方案
如果你确保你使用像 SHA1 用完全随机盐/ sitekey,然后这将是徒劳试图逆转与字典攻击工程化sitekey。
如果有人的没有的要合成自己的哈希登记任意地址,更有效地利用自己的时间会来访问你的服务器来读取源代码:)
其他提示
我认为这将是最好生成一个随机的秘密,并保持它的分贝。这样,没有什么可猜测的。 (至少不是什么,授予权限添加的任何电子邮件)。
不隶属于 StackOverflow