加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:31:36 所属栏目:asp.Net 来源:网络整理
导读:在哪里可以找到ASP.NET的machineKey配置部分? 我的应用程序Web.config中没有一个,在根Web.config中没有一个,在我的machine.config中没有一个。 这是否意味着还有一些其他默认的硬编码到ASP.NET?如果是,默认是什么? (对于.NET 2和4) 读了这个:http://m
在哪里可以找到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" />

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

MSDN 4.0 for machinekey如下。所选择的值是默认值。
[]中的值是该字段可以采用的其他可选值。
我记得在某个地方读取这是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]
/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读