ASP.Net机器密钥,验证密钥和解密密钥 - 密钥长度

时间:2009-06-05 17:19:44

标签: asp.net

将ValidationKey和DecryptionKey保留为默认密钥时生成的默认密钥长度是多少?例如:

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

我无法在MSDN上的任何地方找到此文档。 我想生成一个静态机器密钥并使其与默认值保持一致。

3 个答案:

答案 0 :(得分:7)

MSDN页面讨论了machineKey web.config元素:

  

“对于SHA1,将validationKey设置为64字节(128个十六进制字符)   对于AES,将decryptionKey设置为32个字节(64个十六进制字符)。
  对于3DES,将decryptionKey设置为24个字节(48个十六进制字符)。“

另一个MSDN页面有其他信息:

  

“validationKey手动指定   分配验证密钥。这个值   必须手动设置以确保   跨越一致的配置   Web服务器网络(Web场)。   钥匙必须至少40   字符(20个字节)和最大值   长度为128个字符(64字节)。如果   密钥短于最大长度   使用时,它们应该由a创建   真正的随机手段,例如使用   RNGCryptoServiceProvider。该   建议密钥长度为128   十六进制字符。如果添加   IsolateApps修饰符到   ASP.NET生成的validationKey值   每个都有一个唯一的加密密钥   使用每个应用程序的应用程序   申请ID。“

     

“decryptionKey手动指定   分配密钥。这个值必须是   手动设置为字符串   确保十六进制字符   Web上的一致配置   农场。密钥应为16个字符   使用DES加密时的长度   使用时长度为48个字符   三重DES加密。如果键更短   他们使用的是最大长度   应该是真正随机的   意思是,例如通过使用   RNGCryptoServiceProvider。 ASP.NET可以   仅在计算机上使用Triple DES   哪种128位加密可用。   如果将“IsolateApps”修改器添加到   decryptionKey值,ASP.NET   为...生成唯一的加密密钥   每个应用程序使用每个   应用程序的应用程序ID。“

答案 1 :(得分:4)

我已经使用过这个网站:http://aspnetresources.com/tools/keycreator.aspx多次生成机器密钥。我知道这不能回答你关于默认长度的问题,但至少它会给你一个有效的密钥:)

答案 2 :(得分:0)