我有一个用户sql server表,我想使用asp.net将密码加密并保存在此表中。我还希望用户可以获取忘记密码的密码并编辑个人资料页面,所以我也需要解密它。我需要使用哪种算法或加密技术?
请建议
答案 0 :(得分:9)
不要将密码加密到数据库中 - 哈希(使用salt)。
能够检索密码并不是您真正需要的。您需要让人们重新登录。能够解密密码意味着您可能会让人们知道您的用户的密码。
我建议您阅读Troy Hunt的Everything you ever wanted to know about building a secure password reset feature。它是对实施安全密码策略的问题和解决方案的全面分析。
答案 1 :(得分:1)
最安全的做法是对密码进行哈希处理,使其无法解密 - 因此没有其他人知道他们的密码,包括你和他人。贵公司的成员。当用户忘记密码时 - 生成一个临时密码并强制他们重置密码。
答案 2 :(得分:1)
我认为最好的方法是使用ASP.net membership。