我即将设置我的注册表单,以发送包含唯一代码(非常标准)的激活电子邮件。
我已经在我的数据库中为每个用户存储了一个随机生成的盐,并在注册时应用于他们的密码。
我的问题是,是否有任何理由不应该将该盐用作激活电子邮件的唯一代码?这不会为我节省任何工作,但它可以节省数据库空间。大多数情况下,我只是好奇人们如何向用户展示他的密码盐。
答案 0 :(得分:0)
如果用户是黑客,了解他们自己的盐将使他们更容易破解他们的自己的帐户,但如果每个人的盐都不同,那么没有理由不这样做,如果它是对你来说更容易知道自己的盐只会帮助你成为黑客入侵你自己的帐户。所以,简而言之,没有真正的理由。
答案 1 :(得分:0)
这不一定是一个好的解决方案,但由于盐是独特的,它不应该是一个巨大的问题。你可以rot13和base64编码盐。然后,没有人会真正知道它是盐,你可以很容易地反转它来查找它。
答案 2 :(得分:0)
最好使用单独的,安全生成的值。
正如@SyntaxLAMP所述,使用salt作为激活码是information leakage的一种形式。如果某人有足够的位置来检索所有已通过电子邮件发送的注册用户的盐,这也可以打开MITM attack的大门。