我目前正在构建几个ASP.NET MVC 2个网站,并且想知道我的选择是盐密码的选择。在我的PHP工作中,我通常只是在用户注册时获得时间戳,然后将其附加到密码字符串的末尾,然后再使用SHA1进行整个内容。我的本能是,这种方法可能还不够。

无论如何,我对使用ASP.NET的用户管理非常陌生,因此我认为从一开始就开始最佳实践是我的最大利益。我知道ASP.NET Web表单已内置用户管理可用,但不确定MVC。

有帮助吗?

解决方案

盐的唯一要点是防止彩虹攻击,其中多个用户的密码具有相同的哈希,因此成功逆转一个密码意味着您也知道这是其他所有人使用相同哈希的密码。即使是单位盐也可以阻止这种情况,因为如果两个具有相同密码的用户有不同的盐,则它们的盐分也不同。

只要盐是不会改变的,并且对于每个用户来说都是不同的,任何值都会很好地工作。他们的注册时间戳,只要您不更新该字段(这将使他们的密码哈希无效并防止其登录)是一个很好的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top