加密ASP.NET MVC 3中的密码

时间:2012-02-17 17:46:41

标签: asp.net-mvc-3 security c#-4.0 passwords salt

我正在尝试在ASP.NET MVC3中创建自定义成员资格系统。

我知道有很多免费和开源的提供商,但我这样做是为了了解更多。我的问题是关于加密密码。

您建议我使用哪种算法:SHA1SHA256MD5BCrypt或其他什么?另外,您建议以哪种方式创建密码盐?

2 个答案:

答案 0 :(得分:1)

这些算法中的大多数都是散列算法,它们不加密它们创建散列(校验和),通常这是存储密码的最佳方式,除非你有一个很好的理由想要一种方法来恢复密码(和我不认为有很多原因)。

我小心翼翼地使用sha256。关于salt,随机的6个或更多字符串就足够了。但盐可以是任何东西,它取决于你的想象力如何产生它。

答案 1 :(得分:1)

BCrypt如果您需要非常强大的哈希值。就生成盐而言,您可以使用RNGCryptoServiceProvider类。您可以结帐an article。只需用BCrypt替换那里使用的SHA1算法。