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

And*_*ock 24 asp.net machinekey

我在哪里可以找到machineKeyASP.NET 的配置部分?

我的应用程序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" 
/>
Run Code Online (Sandbox Code Playgroud)

编辑: 1.1文档似乎相当明确wrt默认值:http://msdn.microsoft.com/en-us/library/w8h3skw9( VS.71) .aspx但4个文档相当模糊http://msdn.microsoft .COM/EN-US /库/ w8h3skw9.aspx

Jag*_*mag 34

machineKey正在System.web进入web.config

请参阅web.config架构的MSDN链接.

如果你在web.config中没有看到它,你可以在那里添加它.

MSDN再次:-)

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

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

对于machineKey,他们是

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />
Run Code Online (Sandbox Code Playgroud)

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

机密密钥的MSDN 4.0如下.选择的值是默认值.[]中的值是该字段可以采用的其他可选值.我记得在某处找到这是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]
/>
Run Code Online (Sandbox Code Playgroud)

  • 啊`web.config.comments`.那个有什么用?只是列出在根目录`web.config`中没有指定的默认值?另外,我喜欢windows搜索方式不起作用,或者id已经找到了我自己!谢谢 (4认同)
  • 如果它不存在(它不是)什么是默认值? (2认同)
  • 我刚刚找到一个有用的提示:你可以通过IIS 7.5 GUI生成一个`machineKey`:http://blogs.msdn.com/b/amb/archive/2012/07/31/easiest-way-to-generate- machinekey.aspx (2认同)