日期:2014-05-18  浏览次数:20444 次

手动设置 machineKey 中的密钥值,请高手给指点一下下,谢谢!!!!!!!!!!!!!

        在使用.NET2的虚拟主机时遇到了一个问题,COOKIE莫名其妙的提前过期,并且有些页面会随机出现MAC验证错误,但程序在本地运行良好,后来爬山涉水,翻山越岭和万网客服吵了N次后终于找到了问题的根源,就出在machineKey的密钥上,MSDN中特别提示,在网络场中需要给machineKey中的密钥手动设定一个值,而不能使用AutoGenerate,否则就会出现上述问题,我从网上抄了一个别人的machineKey设置后上传到服务器,哈哈,运行一切正常喽,只是不明白这个密钥的值到底该如何手动设置,我现在的设置如下:

<machineKey   validationKey= "3FF1E929BC0534950B0920A7B59FA698BD02DFE8 "   decryptionKey= "280450BB36319B474C996B506A95AEDF9B51211B1D2B7A77 "   decryption= "3DES "   validation= "SHA1 "/>

        以上设置中的16进制密钥值,是不是可以随心所欲的随便输一个(3DES的最大长度好像是48位,SHA1的不大清楚)?还是有别的计算方法?另外设置手动值与使用AutoGenerate在性能和安全上有什么区别??

------解决方案--------------------
可以随心所欲的随便输一个,只要长度对,[0-9A-F]的字符即可