ASP.net ViewState加密和解密

时间:2011-01-22 19:06:44

标签: asp.net security viewstate

我听说.NET框架会使用SHA1或其他算法加密ViewState。 所以如果我知道SHA1加密和解密算法可以篡改ViewState吗?我的意思是 恶意用户研究SHA1加密算法,如果他了解算法并开发解密算法,它会打开viewstate篡改的道路吗?或SHA1或其他算法使用任何随机技巧进行加密和解密?

1 个答案:

答案 0 :(得分:1)

加密意味着一把钥匙。所述密钥保留在服务器上,并且(除了其他更大的安全问题)客户端永远不会看到它。在不知道该密钥的情况下,您甚至无法查看加密的视图状态,更不用说更改它了。

即使没有加密,也可以告诉服务器生成viewstate的哈希值和只有服务器知道的密钥。如果不知道该密钥,您仍然可以阅读视图状态,但是如果不花费很多精力就无法编辑它。

现在,框架使用的任何加密或散列算法都可能被打破,足以使篡改变得容易。但如果是这样的话,你会很快听到它 - 因为同样的算法将在其他几十个地方使用(有一些众所周知的,经过良好测试的算法几乎每个人都使用)。

简短版本:如果您关心防止篡改,如果配置正确,ASP.net内置的内容将会运行良好。