【问题标题】:Encrypting passwords in ASP.NET MVC 3在 ASP.NET MVC 3 中加密密码
【发布时间】:2012-02-17 17:46:40
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢。 .net 和 RNGCryptoServiceProvider 是否在内部支持 BCrypt?
    • @king.net,不,不是。虽然有 .NET 实现:bcrypt.codeplex.com
    【解决方案2】:

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

    我通常使用 sha256。关于盐,一个随机的 6 个或更多字符的字符串就足够了。但是盐可以是任何东西,这取决于您的想象力如何生成它。

    【讨论】:

      猜你喜欢
      • 2012-02-16
      • 2012-08-14
      • 2023-04-07
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多