Sdílet prostřednictvím


MachineKeyValidation Výčet

Definice

Určuje algoritmus hash, který ASP.NET používá k ověřování formulářů a ověřování dat o stavu zobrazení a k identifikaci stavu mimo proces.

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
Dědičnost
MachineKeyValidation

Pole

Name Hodnota Description
MD5 0

Určuje, že ASP.NET používá algoritmus hash Message Digest 5 (MD5), což je algoritmus hash, který generuje 128bitovou hodnotu hash. Jedná se o starší hodnotu, která by měla být vybrána pouze v případě, že je vyžadována kompatibilita se staršími verzemi ASP.NET.

SHA1 1

Určuje, že ASP.NET používá HMACSHA1 algoritmus hash, což je algoritmus hash, který generuje 160bitovou hodnotu hash. Jedná se o starší hodnotu, která by měla být vybrána pouze v případě, že je vyžadována kompatibilita se staršími verzemi ASP.NET.

TripleDES 2

Určuje, že ASP.NET používá šifrovací algoritmus TripleDES (3DES), což je šifrovací algoritmus, který se používá pouze v případě, že určíte, že stav zobrazení je šifrovaný. Jedná se o starší hodnotu, která by měla být vybrána pouze v případě, že je vyžadována kompatibilita se staršími verzemi ASP.NET.

AES 3

Určuje, že ASP.NET používá AES šifrovací algoritmus. Tuto možnost zvolte, pokud chcete šifrovat stav zobrazení ve webové aplikaci.

Pokud zvolíte tuto možnost, DecryptionKey vlastnost se použije k šifrování a dešifrování a HMACSHA1 algoritmus hash se použije s ValidationKey vlastností pro ověření.

HMACSHA256 4

Určuje, že ASP.NET používá HMACSHA256 algoritmus hash, což je algoritmus hash SHA2, který generuje 256bitový kód hash. Toto je výchozí hodnota.

HMACSHA384 5

Určuje, že ASP.NET používá HMACSHA384 algoritmus hash, což je algoritmus hash SHA2, který generuje 384bitový kód hash. Tato možnost je dostupná pro aplikace, které vyžadují silnější zabezpečení, než poskytuje algoritmus HMACSHA256 .

HMACSHA512 6

Určuje, že ASP.NET používá HMACSHA512 algoritmus hash, což je algoritmus hash SHA2, který generuje 512bitový kód hash. Tato možnost je dostupná pro aplikace, které vyžadují silnější zabezpečení, než poskytuje algoritmus >HMACSHA384 .

Custom 7

Určuje, že ASP.NET používá vlastní algoritmus hash. Vlastní algoritmus hash lze implementovat v libovolné třídě, která je odvozena od KeyedHashAlgorithm.

Vlastní algoritmus je obvykle deklarativní v validation atributu machineKey elementu ve formátu alg:`*algorithm_name*. Informace o tom, jak zadat vlastní algoritmus v kódu, naleznete v ValidationAlgorithm vlastnosti.

Příklady

Následující příklad kódu ukazuje, jak použít MachineKeyValidation výčet. V příkladu configSection je instance MachineKeySection. Tento příklad kódu je součástí většího příkladu uvedeného pro třídu MachineKeySection.

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

Poznámky

ASP.NET používá kód ověřování zpráv založený na hodnotě hash (HMAC), který pomáhá zjistit, jestli byla manipulována data používaná k ověřování pomocí formulářů nebo stavu zobrazení. HMAC se vygeneruje při vytváření obsahu stavu zobrazení a při následných požadavcích se zkontroluje HMAC. HMAC pomáhá ASP.NET určit, jestli někdo změnil data odesílaná mezi serverem a klientem, ale data může číst kdokoli, když prochází internetem, pokud není také šifrovaná. Ve výchozím nastavení se stav zobrazení ověří, ale ne zašifruje. Pro více informací se podívejte na ViewStateEncryptionMode a RegisterRequiresViewStateEncryption.

Výčet MachineKeyValidation umožňuje zadat algoritmus, který ASP.NET používá k vytvoření HMAC. Výchozí hodnota je HMACSHA256. ASP.NET použije hodnotu ValidationKey vlastnosti s vybraným algoritmem k vygenerování HMAC.

Platí pro

Viz také