【发布时间】:2012-02-17 17:46:40
【问题描述】:
我正在尝试在ASP.NET MVC3 中创建自定义会员系统。
我知道有许多免费和开源的供应商,但我这样做是为了了解更多信息。我的问题是关于加密密码。
您建议我使用哪种算法:SHA1、SHA256、MD5、BCrypt,还是其他?另外,您建议以哪种方式创建密码盐?
【问题讨论】:
标签: asp.net-mvc-3 security c#-4.0 passwords salt
我正在尝试在ASP.NET MVC3 中创建自定义会员系统。
我知道有许多免费和开源的供应商,但我这样做是为了了解更多信息。我的问题是关于加密密码。
您建议我使用哪种算法:SHA1、SHA256、MD5、BCrypt,还是其他?另外,您建议以哪种方式创建密码盐?
【问题讨论】:
标签: asp.net-mvc-3 security c#-4.0 passwords salt
BCrypt 如果你需要非常强大的哈希。就生成盐而言,您可以使用RNGCryptoServiceProvider 类。这是an article,您可以结帐。只需将那里使用的 SHA1 算法替换为 BCrypt。
【讨论】:
这些算法中的大多数都是散列算法,它们不加密它们创建散列(校验和),通常这是存储密码的最佳方式,除非您有充分的理由想要一种恢复密码的方法(并且我不认为有很多原因)。
我通常使用 sha256。关于盐,一个随机的 6 个或更多字符的字符串就足够了。但是盐可以是任何东西,这取决于您的想象力如何生成它。
【讨论】: