首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET成员资格使用的默认哈希算法是什么?

ASP.NET成员资格使用的默认哈希算法是什么?
EN

Stack Overflow用户
提问于 2009-07-16 12:51:40
回答 5查看 78K关注 0票数 59

ASP.NET成员资格使用的默认哈希算法是什么?我该如何改变它呢?

EN

回答 5

Stack Overflow用户

发布于 2012-01-27 21:54:24

above answer by Ryan Christensen不完整。它将盐转换为byte[]的部分不正确。

这是我在一个客户端的解决方案中实现的一个工作示例:

代码语言:javascript
复制
public string Hash(string value, string salt)
    {
        byte[] bytes = Encoding.Unicode.GetBytes(value);
        byte[] src = Convert.FromBase64String(salt);
        byte[] dst = new byte[src.Length + bytes.Length];
        Buffer.BlockCopy(src, 0, dst, 0, src.Length);
        Buffer.BlockCopy(bytes, 0, dst, src.Length, bytes.Length);
        HashAlgorithm algorithm = HashAlgorithm.Create("SHA1");
        byte[] inArray = algorithm.ComputeHash(dst);
        return Convert.ToBase64String(inArray);
    }
票数 37
EN

Stack Overflow用户

发布于 2009-07-16 13:07:09

默认的哈希算法类型是SHA1。有两种方法可以改变这一点。

1)如果您使用的是IIS 7,则可以使用"Machine Key“配置(如下所示)进行更新。这允许您从可用选项列表中选择加密方法,并指定密钥或密钥生成选项。

2)如果您使用的是IIS6,您可以使用web.config文件中的membership元素更改散列算法类型:

代码语言:javascript
复制
<membership
    defaultProvider="provider name"
    userIsOnlineTimeWindow="number of minutes"
    hashAlgorithmType="SHA1">
    <providers>...</providers>
</membership>

根据文档,hashAlgorithmType属性的字符串值可以是所提供的任何.Net散列算法类型。稍微挖掘一下就会发现,ASP.Net 2、3和3.5的有效值是MD5RIPEMD160SHA1SHA256SHA384SHA512。这里最重要的部分是所有这些类都继承自HashAlgorithm

hashAlgorithmType属性的值也可以是来自machine.config文件中cryptoNameMapping元素的条目。如果你需要第三方散列算法,你可以使用它。如果您使用的是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG 2或更高版本,则通常可以在ASP.Net中找到machine.config文件。您可以阅读有关设置这些值here的更多信息。

票数 28
EN

Stack Overflow用户

发布于 2010-11-20 01:24:02

在.NET 4.0框架中,默认的哈希算法更改为HMACSHA256。

请注意,与SHA-1不同,HMAC SHA-256是密钥哈希。如果您的散列行为是不确定的,那么您可能没有设置密钥,从而强制它使用随机密钥。与下面类似的东西将是罪魁祸首(这是我花了一个小时才弄清楚的:p )。

代码语言:javascript
复制
HashAlgorithm.Create(Membership.HashAlgorithmType)

如果您希望它与现有的提供程序一起工作,您可以使用this guide将其恢复为以前的默认值。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1137368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档