MachineKeyValidation 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 ASP.NET 用于表单身份验证和验证视图状态数据的哈希算法,以及用于进程外会话状态标识。
public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation =
Public Enum MachineKeyValidation
- 继承
字段
| 名称 | 值 | 说明 |
|---|---|---|
| MD5 | 0 | 指定 ASP.NET 使用消息摘要 5 ( |
| SHA1 | 1 | 指定 ASP.NET 使用 |
| TripleDES | 2 | 指定 ASP.NET 使用 TripleDES ( |
| AES | 3 | 指定 ASP.NET 使用 如果选择此选项,该 DecryptionKey 属性将用于加密和解密,哈希 |
| HMACSHA256 | 4 | 指定 ASP.NET 使用 |
| HMACSHA384 | 5 | 指定 ASP.NET 使用 |
| HMACSHA512 | 6 | 指定 ASP.NET 使用 |
| Custom | 7 | 指定 ASP.NET 使用自定义哈希算法。 可以在派生自 KeyedHashAlgorithm的任何类中实现自定义哈希算法。 自定义算法通常以声明方式在 machineKey 元素的属性中 |
示例
下面的代码示例演示如何使用 MachineKeyValidation 枚举。 在此示例中, configSection 是 . 的 MachineKeySection一个实例。 该代码示例是 MachineKeySection 类中的一个较大示例的一部分。
// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;
' Set Validation value.
configSection.Validation = MachineKeyValidation.HMACSHA256
注解
ASP.NET 使用基于哈希的消息身份验证代码(HMAC)来帮助检测用于表单身份验证或视图状态的数据是否已被篡改。 创建视图状态内容时会生成 HMAC,并在后续请求中检查 HMAC。 HMAC 可帮助 ASP.NET 确定某人是否已更改了在服务器和客户端之间发送的数据,但除非数据也经过加密,否则这些数据可由任何人读取。 默认情况下,视图状态已验证,但未加密。 有关详细信息,请参阅 ViewStateEncryptionMode 和 RegisterRequiresViewStateEncryption。
通过 MachineKeyValidation 枚举,可以指定 ASP.NET 用于创建 HMAC 的算法。 默认值为 HMACSHA256。 ASP.NET 使用具有所选算法的属性 ValidationKey 值来生成 HMAC。