ASP.NET的机器密钥验证密钥的目的是什么?

4
在ASP.NET 4中,默认哈希算法更改为HMACSHA256。我知道解密密钥用于表单身份验证和新的ASP.NET Identity cookie身份验证。除了Web Forms中的Viewstate验证之外,验证密钥是否还用于其他任何用途?原因是我们在许多应用程序中使用静态机器密钥,并且仍在使用SHA1进行验证。
1个回答

2
“验证密钥”除了在Web表单中用于视图状态验证之外,还有其他用途吗?
此外,我认为它还会影响MachineKey.Protect函数的行为以及相应的Unprotect函数。该API允许开发人员保护任意值。MVC框架利用此功能生成反跨站请求伪造令牌,因此更改验证密钥将影响CSRF令牌的生成和验证。

就其价值而言,由于CSRF和ViewState值的寿命较短,这两者都不应阻止您转换为HMACSHA256。 - vcsjones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接