在 ASP.NET 4 中,默认哈希算法更改为 HMACSHA256。我知道解密密钥用于表单身份验证和新的 ASP.NET 身份 cookie 身份验证。验证密钥是否用于 Web 窗体中视图状态验证以外的任何内容?
我问的原因是,我们在许多应用程序中使用静态机器密钥,并且它们仍在使用 SHA1 进行验证。
验证密钥是否用于 Web 窗体中视图状态验证以外的任何内容?
除此之外,我相信它还会影响MachineKey.Protect
函数的行为,以及相应的 Unprotect 函数。此 API 允许开发人员保护任意值。MVC 框架将其用于防伪令牌,因此更改验证密钥将影响 CSRF 令牌的生成和验证。