Asp.net mvc 2 添加密码-有没有比使用时间戳更好的选择?

Asp.net mvc 2 添加密码-有没有比使用时间戳更好的选择?,asp.net-mvc-2,salt,user-administration,salt-creation,Asp.net Mvc 2,Salt,User Administration,Salt Creation,我目前正在构建两个ASP.NETMVC2站点,我想知道我的密码设置选项是什么。在我的PHP工作中,我通常只获取用户注册时的时间戳,然后在使用SHA1散列整个内容之前将其附加到密码字符串的末尾。我的直觉是,这种方法可能还不够 无论如何,我对ASP.NET的用户管理还是相当陌生的,所以我认为从一开始就开始使用最佳实践对我最有利。我知道ASP.NET web表单有内置的用户管理功能,但我不确定MVC。唯一的问题是防止彩虹攻击,在彩虹攻击中,多个用户的密码具有相同的哈希值,因此成功地反转一个密码意味着您

我目前正在构建两个ASP.NETMVC2站点,我想知道我的密码设置选项是什么。在我的PHP工作中,我通常只获取用户注册时的时间戳,然后在使用SHA1散列整个内容之前将其附加到密码字符串的末尾。我的直觉是,这种方法可能还不够


无论如何,我对ASP.NET的用户管理还是相当陌生的,所以我认为从一开始就开始使用最佳实践对我最有利。我知道ASP.NET web表单有内置的用户管理功能,但我不确定MVC。

唯一的问题是防止彩虹攻击,在彩虹攻击中,多个用户的密码具有相同的哈希值,因此成功地反转一个密码意味着您也知道它是具有相同哈希值的其他所有用户的密码。即使是一位数的salt也会阻止这种情况,因为两个拥有相同密码的用户如果有不同的salt,他们的哈希值也会不同


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

谢谢您的解释。当遇到这样的事情时,我总是怀疑自己,所以很高兴知道我在正确的轨道上。