MachineKeyValidation Enum

Definition

Anger hash-algoritmen som ASP.NET använder för formulärautentisering och för validering av visningstillståndsdata och för identifiering av sessionstillstånd som inte är bearbetad.

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

Fält

Name Värde Description
MD5 0

Anger att ASP.NET använder hash-hashalgoritmen Message Digest 5 (MD5), som är en hashalgoritm som genererar ett 128-bitars hashvärde. Det här är ett äldre värde som endast ska väljas om kompatibilitet med tidigare versioner av ASP.NET krävs.

SHA1 1

Anger att ASP.NET använder hashalgoritmen HMACSHA1, som är en hashalgoritm som genererar ett 160-bitars hashvärde. Det här är ett äldre värde som endast ska väljas om kompatibilitet med tidigare versioner av ASP.NET krävs.

TripleDES 2

Anger att ASP.NET använder krypteringsalgoritmen TripleDES (3DES), som är en krypteringsalgoritm som endast används om du anger att visningstillståndet är krypterat. Det här är ett äldre värde som endast ska väljas om kompatibilitet med tidigare versioner av ASP.NET krävs.

AES 3

Anger att ASP.NET använder krypteringsalgoritmen AES. Välj det här alternativet om du vill kryptera visningstillståndet i webbappen.

Om du väljer det här alternativet DecryptionKey används egenskapen för kryptering och dekryptering, och hash-algoritmen HMACSHA1 används med ValidationKey egenskapen för validering.

HMACSHA256 4

Anger att ASP.NET använder hashalgoritmen HMACSHA256, som är en SHA2-hashalgoritm som genererar en 256-bitars hashkod. Det här är standardvärdet.

HMACSHA384 5

Anger att ASP.NET använder hashalgoritmen HMACSHA384, som är en SHA2-hashalgoritm som genererar en 384-bitars hashkod. Det här alternativet är tillgängligt för program som kräver starkare säkerhet än vad som tillhandahålls av algoritmen HMACSHA256 .

HMACSHA512 6

Anger att ASP.NET använder hashalgoritmen HMACSHA512, som är en SHA2-hashalgoritm som genererar en 512-bitars hashkod. Det här alternativet är tillgängligt för program som kräver starkare säkerhet än vad som tillhandahålls av algoritmen >HMACSHA384 .

Custom 7

Anger att ASP.NET använder en anpassad hashalgoritm. Den anpassade hashalgoritmen kan implementeras i alla klasser som härleds från KeyedHashAlgorithm.

Den anpassade algoritmen anges vanligtvis deklarativt i validation attributet för machineKey-elementet i formatet alg:`*algorithm_name*. Information om hur du anger en anpassad algoritm i kod finns i ValidationAlgorithm egenskapen .

Exempel

I följande kodexempel visas hur du använder MachineKeyValidation uppräkningen. I exemplet configSection är en instans av MachineKeySection. Det här kodexemplet är en del av ett större exempel för MachineKeySection klassen.

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

Kommentarer

ASP.NET använder en hashbaserad kod för meddelandeautentisering (HMAC) för att identifiera om data som används för formulärautentisering eller visningstillstånd har manipulerats. HMAC genereras när visningstillståndsinnehåll skapas och HMAC kontrolleras på efterföljande begäranden. HMAC hjälper ASP.NET avgöra om någon har ändrat data som skickas mellan servern och klienten, men data kan läsas av vem som helst när de färdas via Internet om de inte också är krypterade. Som standard verifieras visningstillståndet men krypteras inte. Mer information finns i ViewStateEncryptionMode och RegisterRequiresViewStateEncryption.

Med uppräkningen MachineKeyValidation kan du ange den algoritm som ASP.NET använder för att skapa HMAC. Standardvärdet är HMACSHA256. ASP.NET använder värdet för egenskapen ValidationKey med den valda algoritmen för att generera HMAC.

Gäller för

Se även