ASP.Net 中的 ViewState 加密


糖果
2025-03-15 01:58:35 (16天前)

为什么当我使用不同的算法进行视图状态加密时,我看到生成的哈希值相同。我在 web.config 文件中添加了以下几行
页面 viewstateEncryptionMode=“Always” enableViewStateMac=“true”…/>
machineKeyvalidationKey=“AutoGenerate,IsolateApps”decryptionKey=“AutoGenerate,IsolateApps”validation=“AES”decryption=“Auto”/>
此外,编译 debug=“false” … > 已设置。
无论我使用什么(AES、MD5、SHA1、3DES),它都会生成相同的哈希值。有什么我错过了。
请告诉我。
-谢谢

2 条回复
  1. 1# 糖果 | 2021-07-30 13-36

    通过MSDN 上的 P&P:
    表单身份验证默认为 SHA1 用于防篡改(如果 或 ,则表单身份验证使用 MD5 或 HMACSHA1 对表单身份验证票进行哈希处理(即使验证设置为 AES 或 3DES,也会使用 HMACSHA1)。然后表单身份验证使用算法加密票证在解密属性中指定。(解密属性是在 ASP.NET 2.0 中引入的。)
    因此,理论上,生成的哈希值应该只有 SHA1 和 MD5 不同。

登录 后才能参与评论