MachineKeyValidation Wyliczenie

Definicja

Określa algorytm wyznaczania wartości skrótu używany przez ASP.NET do uwierzytelniania formularzy i sprawdzania poprawności danych stanu widoku oraz identyfikacji stanu sesji poza procesem.

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

Pola

AES 3

Określa, że ASP.NET używa algorytmu AES szyfrowania. Wybierz tę opcję, jeśli chcesz zaszyfrować stan widoku w aplikacji internetowej.

Jeśli wybierzesz tę opcję, DecryptionKey właściwość zostanie użyta do szyfrowania i odszyfrowywania, a HMACSHA1 algorytm skrótu będzie używany z właściwością ValidationKey do walidacji.

Custom 7

Określa, że ASP.NET używa niestandardowego algorytmu wyznaczania skrótów. Niestandardowy algorytm tworzenia skrótów można zaimplementować w dowolnej klasie pochodzącej z KeyedHashAlgorithmklasy .

Algorytm niestandardowy jest zwykle określany deklaratywnie w validation atrybucie elementu machineKey w formacie alg:`*algorithm_name*. Aby uzyskać informacje o sposobie określania niestandardowego algorytmu w kodzie, zobacz ValidationAlgorithm właściwość .

HMACSHA256 4

Określa, że ASP.NET używa algorytmu HMACSHA256 wyznaczania wartości skrótu, czyli algorytmu wyznaczania wartości skrótu SHA2, który generuje 256-bitowy kod skrótu. Jest to wartość domyślna.

HMACSHA384 5

Określa, że ASP.NET używa algorytmu HMACSHA384 wyznaczania wartości skrótu, który jest algorytmem wyznaczania wartości skrótu SHA2, który generuje kod skrótu 384-bitowego. Ta opcja jest dostępna dla aplikacji wymagających silniejszych zabezpieczeń niż zapewniany HMACSHA256 przez algorytm.

HMACSHA512 6

Określa, że ASP.NET używa algorytmu HMACSHA512 wyznaczania wartości skrótu, który jest algorytmem wyznaczania wartości skrótu SHA2, który generuje kod skrótu 512-bitowego. Ta opcja jest dostępna dla aplikacji wymagających silniejszych zabezpieczeń niż zapewniany >HMACSHA384 przez algorytm.

MD5 0

Określa, że ASP.NET używa algorytmu wyznaczania wartości skrótu komunikatu 5 (MD5), który jest algorytmem wyznaczania wartości skrótu 128-bitowego. Jest to starsza wartość, która powinna być wybrana tylko wtedy, gdy wymagana jest zgodność z wcześniejszymi wersjami ASP.NET.

SHA1 1

Określa, że ASP.NET używa algorytmu wyznaczania wartości skrótu HMACSHA1 , który jest algorytmem wyznaczania wartości skrótu 160-bitowego. Jest to starsza wartość, która powinna być wybrana tylko wtedy, gdy wymagana jest zgodność z wcześniejszymi wersjami ASP.NET.

TripleDES 2

Określa, że ASP.NET używa algorytmu szyfrowania TripleDES (3DES), który jest algorytmem szyfrowania używanym tylko wtedy, gdy określisz, że stan widoku jest zaszyfrowany. Jest to starsza wartość, która powinna być wybrana tylko wtedy, gdy wymagana jest zgodność z wcześniejszymi wersjami ASP.NET.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać wyliczenia MachineKeyValidation . W tym przykładzie configSection jest wystąpieniem klasy MachineKeySection. Ten przykład kodu jest częścią większego przykładu podanego MachineKeySection dla klasy.

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

Uwagi

ASP.NET używa kodu uwierzytelniania komunikatów opartego na skrótach (HMAC) w celu wykrycia, czy dane używane do uwierzytelniania formularzy lub stanu widoku zostały naruszone. HMAC jest generowany podczas tworzenia zawartości stanu widoku, a HMAC jest sprawdzany na kolejnych żądaniach. HMAC pomaga ASP.NET określić, czy ktoś zmienił dane wysyłane między serwerem a klientem, ale dane mogą być odczytywane przez każdego, kto podróżuje przez Internet, chyba że jest również zaszyfrowany. Domyślnie stan widoku jest weryfikowany, ale nie jest szyfrowany. Aby uzyskać więcej informacji, zobacz ViewStateEncryptionMode i RegisterRequiresViewStateEncryption.

Wyliczenie MachineKeyValidation umożliwia określenie algorytmu, który ASP.NET używa do utworzenia HMAC. Wartość domyślna to HMACSHA256. ASP.NET używa wartości ValidationKey właściwości z wybranym algorytmem do wygenerowania HMAC.

Dotyczy

Zobacz też