Udostępnij za pośrednictwem


MachineKeyValidation Wyliczenie

Definicja

Określa algorytm wyznaczania wartości skrótu, który ASP.NET używa 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

Nazwa Wartość Opis
MD5 0

Określa, że ASP.NET używa algorytmu wyznaczania wartości skrótu komunikatu 5 (MD5), czyli algorytmu 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, który jest używany tylko w przypadku określenia tego stanu widoku jest szyfrowany. Jest to starsza wartość, która powinna być wybrana tylko wtedy, gdy wymagana jest zgodność z wcześniejszymi wersjami ASP.NET.

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ść będzie używana do szyfrowania i odszyfrowywania, a HMACSHA1 algorytm skrótu będzie używany z właściwością ValidationKey do weryfikacji.

HMACSHA256 4

Określa, że ASP.NET używa algorytmu HMACSHA256 wyznaczania wartości skrótu, który jest algorytmem 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 wyznaczania wartości skrótu HMACSHA384 , czyli algorytmu 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ż zapewnianych HMACSHA256 przez algorytm.

HMACSHA512 6

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

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 klasy KeyedHashAlgorithm.

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 ValidationAlgorithm w kodzie, zobacz właściwość .

Przykłady

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

// 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 wykrywania, 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. Domyślna wartość to HMACSHA256. ASP.NET używa wartości ValidationKey właściwości z wybranym algorytmem do wygenerowania HMAC.

Dotyczy

Zobacz też