MachineKeyValidation 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 ASP.NET 用于 Forms 身份验证和验证视图状态数据,以及进程外会话状态标识的哈希算法。
public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation =
Public Enum MachineKeyValidation
- 继承
字段
AES | 3 | 指定 ASP.NET 使用 如果选择此选项,则 DecryptionKey 属性将用于加密和解密, |
Custom | 7 | 指明 ASP.NET 使用自定义的哈希算法。 自定义哈希算法可以在派生自 KeyedHashAlgorithm 的任何类中实现。 自定义算法通常在 machineKey 元素的 |
HMACSHA256 | 4 | 指定 ASP.NET 使用 |
HMACSHA384 | 5 | 指定 ASP.NET 使用 |
HMACSHA512 | 6 | 指定 ASP.NET 使用 |
MD5 | 0 | 指定 ASP.NET 使用 Message Digest 5 ( |
SHA1 | 1 | 指定 ASP.NET 使用 |
TripleDES | 2 | 指定 ASP.NET 使用 TripleDES ( |
示例
下面的代码示例演示如何使用 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 确定某人是否更改了在服务器和客户端之间发送的数据,但数据可以在通过 Internet 传输时由任何人读取,除非数据也经过加密。 默认情况下,将验证视图状态,但未加密。 有关详细信息,请参阅 ViewStateEncryptionMode 和 RegisterRequiresViewStateEncryption。
通过MachineKeyValidation
枚举,可以指定 ASP.NET 用于创建 HMAC 的算法。 默认值是 HMACSHA256
。 ASP.NET 使用具有所选算法的属性ValidationKey值来生成 HMAC。