ASP.NET machineKey配置部分默认位置

前端之家收集整理的这篇文章主要介绍了ASP.NET machineKey配置部分默认位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在哪里可以找到ASP.NET的machineKey配置部分?

我的应用程序Web.config中没有一个,在根Web.config中没有一个,在我的machine.config中没有一个。

这是否意味着还有一些其他默认的硬编码到ASP.NET?如果是,默认是什么? (对于.NET 2和4)

读了这个:http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

我期待找到像这样的地方:

<machineKey 
    validationKey="AutoGenerate,IsolateApps" 
    decryptionKey="AutoGenerate,IsolateApps" 
/>

编辑:1.1文档看起来相当清楚wrt默认值:http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx但是4个文档是相当模糊的http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

解决方法

machineKey位于web.config中的System.web条目下

请参阅MSDN link for web.config Schema。

如果你不在web.config中看到它,你可以把它添加到那里。

MSDN再次:-)

为了提供防篡改的ViewState,从ViewState内容生成散列消息认证码(HMAC),并在随后的请求中对散列进行比较。指示哪个哈希算法使用的验证属性,默认为SHA1,它使用HMACSHA1算法。哈希的有效选择包括SHA1或MD5,尽管SHA1是优选的,因为它产生较大的散列,并且被认为比密码学强于MD5。验证Key属性与ViewState内容结合使用以产生HMAC。如果您的应用程序安装在Web场中,则需要将ValidGenerate,IsolateApps中的validationKey更改为特定的手动生成的键值。

< pages>的默认设置和< machineKey>元素在机器级web.config.comments文件中定义。

对于machineKey,他们是

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />

编辑:@H_403_33@对于.NET 4.0,默认算法已经是changed到SHA256@H_403_33@我认为找到默认值的最简单的方法是在MSDN中查看该配置值的条目。

MSDN 4.0 for machinekey如下。所选择的值是默认值。@H_403_33@[]中的值是该字段可以采用的其他可选值。@H_403_33@我记得在某个地方读取这是MSDN中代表配置值的默认值的典型方式。

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
    HMACSHA384 | HMACSHA512 | alg:algorithm_name]
  decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>

猜你在找的asp.Net相关文章