【问题标题】:Different hash algorithm for ASP.NET Membership provider?ASP.NET 成员资格提供程序的不同哈希算法?
【发布时间】:2009-06-05 11:08:49
【问题描述】:

有谁知道是否可以将 ASP.NET 成员 API 配置为使用 SHA-256 或 SHA-512?我真的不想自己写,而且我们的雇主有一个不允许 MD5 或 SHA-1 的加密策略。我只能从 Microsoft 找到 HashAlgorythmType enum

...但这仅包含 MD5 和 SHA1

谢谢,

基诺

【问题讨论】:

标签: asp.net-membership


【解决方案1】:

看起来确实有可能(假设您使用的是 SqlMembershipProvider)。 支持SHA1、MD5、SHA256、SHA384和SHA512

SqlMembershipProvider 使用此代码实例化哈希算法:

// MembershipPasswordFormat.Hashed
HashAlgorithm s = HashAlgorithm.Create( Membership.HashAlgorithmType );
bRet = s.ComputeHash(bAll);

Membership.HashAlgorithmType(字符串类型)是 Web.config 中成员资格元素的 hashAlgorithmType 属性

有关所有可能值的完整列表,请参阅: http://msdn.microsoft.com/en-us/library/wet69s13(v=vs.100).aspx

【讨论】:

    【解决方案2】:

    实际上,格式由配置文件中定义提供程序设置的.../membership/providers/add 元素的passwordFormat 属性确定。

    可能的值由MembershipPasswordFormat enumeration 给出,它无法控制所使用的哈希算法。

    【讨论】:

      【解决方案3】:

      您可以使用 hashAlgorithmType 属性更改哈希算法。 您还可以将算法名称映射到类。 因此,如果您想要 MD5 和 SHA1 以外的算法,请添加新的映射。

      欲了解更多信息,请参阅:
      membership Element (ASP.NET Settings Schema)
      Membership.HashAlgorithmType Property

      【讨论】:

        【解决方案4】:

        这个答案可以提供帮助。 ASP.NET Membership Provider 现在可以使用 PBKDF2(比 SHA1、SHA256-SHA512 好得多):https://stackoverflow.com/a/60273188/2508781

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-11-15
          • 1970-01-01
          • 2010-11-20
          • 2011-03-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多