【发布时间】:2011-08-10 11:14:53
【问题描述】:
我正在为 Web 应用程序的安全系统工作 - 管理部分。如果一位管理员想要对应用程序进行一些重要的更改,他需要回答一个安全问题。
我的问题是:这个问题的答案应该在数据库中散列?
另外,我正在考虑让管理员可以更改他们的问题/答案,但管理员可以这样做,只要他使用密码确认他的身份。这是一个好方法吗?
【问题讨论】:
-
为什么不让他们再次输入密码?
-
确保使用正确的散列技术。首先,确保在散列时使用随机盐(也称为随机数)。其次,确保您使用的哈希算法不会被认为是损坏的。这意味着没有 MD5,没有 SHA-1,而且绝对没有更旧的东西。需要考虑的一些哈希是 SHA-256/512、bcrypt/EksBlowfish(同样的)和 Whirlpool。哈希快乐!
-
@Jared 我认为最好避免经常使用密码
-
人们还在使用安全问题吗?为什么不直接将重置密码链接发送到他们的电子邮件?
-
秘密问题的问题在于,它们总是你在第一次约会时告诉某人的事情。辅助 PIN 会更好。