3

我目前正在构建几个 ASP.NET MVC 2 站点,我想知道我有哪些选择来加盐密码。在我的 PHP 工作中,我通常只获取用户注册时的时间戳,然后将其附加到密码字符串的末尾,然后再使用 SHA1 对整个事物进行哈希处理。我的直觉是,这种方法可能还不够。

无论如何,我对使用 ASP.NET 进行用户管理还是很陌生,所以我认为从一开始就开始使用最佳实践符合我的最大利益。我知道 ASP.NET Web 表单具有可用的内置用户管理,但不确定 MVC。

4

1 回答 1

4

SALT 的唯一目的是防止彩虹攻击,在这种攻击中,多个用户的密码具有相同的哈希值,因此成功反转一个密码意味着您也知道它是具有相同哈希值的其他所有人的密码。即使是一位数的盐也可以防止这种情况发生,因为如果两个具有相同密码的用户使用不同的盐,他们将具有不同的哈希值。

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

于 2010-08-18T20:35:04.250 回答