Freigeben über


MachineKeyValidation Enumeration

Definition

Gibt den Hashalgorithmus an, den ASP.NET für die Formularauthentifizierung und zum Überprüfen von Anzeigezustandsdaten sowie zur Überprüfung der Kennzeichnung des prozessexternen Sitzungszustands verwendet.

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
Vererbung
MachineKeyValidation

Felder

AES 3

Gibt an, dass ASP.NET den Verschlüsselungsalgorithmus AES verwendet. Verwenden Sie diese Option, wenn Sie den Ansichtszustand in Ihrer Webanwendung verschlüsseln möchten.

In diesem Fall wird die DecryptionKey-Eigenschaft für die Ver- und Entschlüsselung verwendet. Der HMACSHA1-Hashalgorithmus wird außerdem zusammen mit der ValidationKey-Eigenschaft zur Validierung verwendet.

Custom 7

Gibt an, dass ASP.NET einen benutzerdefinierten Hashalgorithmus verwendet. Dieser kann in jeder Klasse implementiert werden, die von KeyedHashAlgorithm erbt.

Der benutzerdefinierte Algorithmus wird in der validation Regel deklarativ im Attribut des machineKey-Elements im Format alg:`*algorithm_name*angegeben. Weitere Informationen zum Festlegen eines benutzerdefinierten Algorithmus im Code finden Sie im Artikel zur ValidationAlgorithm-Eigenschaft.

HMACSHA256 4

Gibt an, dass ASP.NET den HMACSHA256-Hashalgorithmus verwendet. Dabei handelt es sich um einen SHA-2-Hashalgorithmus, der einen 256-Bit-Hashcode generiert. Dies ist der Standardwert.

HMACSHA384 5

Gibt an, dass ASP.NET den HMACSHA384-Hashalgorithmus verwendet. Dabei handelt es sich um einen SHA-2-Hashalgorithmus, der einen 384-Bit-Hashcode generiert. Diese Option steht für Anwendungen bereit, deren erhöhte Sicherheitsanforderungen nicht durch den HMACSHA256-Algorithmus erfüllt werden.

HMACSHA512 6

Gibt an, dass ASP.NET den HMACSHA512-Hashalgorithmus verwendet. Dabei handelt es sich um einen SHA-2-Hashalgorithmus, der einen 512-Bit-Hashcode generiert. Diese Option steht für Anwendungen bereit, deren erhöhte Sicherheitsanforderungen nicht durch den >HMACSHA384-Algorithmus erfüllt werden.

MD5 0

Gibt an, dass ASP.NET den Hashalgorithmus Message Digest 5 (MD5) verwendet. Dabei handelt es sich um einen Hashalgorithmus, der einen 128-Bit-Hashcode generiert. Dieser Legacywert sollte nur verwendet werden, wenn Kompatibilität mit früheren Version von ASP.NET erforderlich ist.

SHA1 1

Gibt an, dass ASP.NET den HMACSHA1-Hashalgorithmus verwendet. Dabei handelt es sich um einen Hashalgorithmus, der einen 160-Bit-Hashwert generiert. Dieser Legacywert sollte nur verwendet werden, wenn Kompatibilität mit früheren Version von ASP.NET erforderlich ist.

TripleDES 2

Gibt an, dass ASP.NET den Verschlüsselungsalgorithmus Triple DES (3DES) verwendet. Dieser wird nur verwendet, wenn Sie festlegen, dass der Ansichtszustand verschlüsselt wird. Dieser Legacywert sollte nur verwendet werden, wenn Kompatibilität mit früheren Version von ASP.NET erforderlich ist.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der MachineKeyValidation Enumeration veranschaulicht. Im Beispiel configSection ist eine Instanz von MachineKeySection. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die MachineKeySection-Klasse bereitgestellt wird.

// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;
' Set Validation value.
configSection.Validation = MachineKeyValidation.HMACSHA256

Hinweise

ASP.NET verwendet einen hashbasierten Nachrichtenauthentifizierungscode (HMAC), um zu erkennen, ob Daten, die für die Formularauthentifizierung oder den Ansichtsstatus verwendet werden, manipuliert wurden. Der HMAC wird generiert, wenn Ansichtsstatusinhalte erstellt werden, und der HMAC wird bei nachfolgenden Anforderungen überprüft. Der HMAC hilft ASP.NET zu ermitteln, ob jemand Daten geändert hat, die zwischen dem Server und dem Client gesendet werden, aber die Daten können von jedem gelesen werden, während sie über das Internet übertragen werden, es sei denn, sie sind ebenfalls verschlüsselt. Standardmäßig wird der Ansichtsstatus überprüft, aber nicht verschlüsselt. Weitere Informationen finden Sie unter ViewStateEncryptionMode und RegisterRequiresViewStateEncryption.

Mit MachineKeyValidation der Enumeration können Sie den Algorithmus angeben, der ASP.NET zum Erstellen des HMAC verwendet. Der Standardwert ist HMACSHA256. ASP.NET verwendet den Wert der ValidationKey Eigenschaft mit dem ausgewählten Algorithmus, um den HMAC zu generieren.

Gilt für:

Weitere Informationen