Condividi tramite


MachineKeyValidation Enumerazione

Definizione

Specifica l'algoritmo hash utilizzato ASP.NET per l'autenticazione basata su form e per la convalida dei dati dello stato di visualizzazione e per l'identificazione dello stato della sessione out-of-process.

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
Ereditarietà
MachineKeyValidation

Campi

Nome Valore Descrizione
MD5 0

Specifica che ASP.NET usa l'algoritmo hash Message Digest 5 (MD5), ovvero un algoritmo hash che genera un valore hash a 128 bit. Si tratta di un valore legacy che deve essere selezionato solo se è necessaria la compatibilità con le versioni precedenti di ASP.NET.

SHA1 1

Specifica che ASP.NET usa l'algoritmo HMACSHA1 hash, ovvero un algoritmo hash che genera un valore hash a 160 bit. Si tratta di un valore legacy che deve essere selezionato solo se è necessaria la compatibilità con le versioni precedenti di ASP.NET.

TripleDES 2

Specifica che ASP.NET utilizza l'algoritmo di crittografia TripleDES (3DES), ovvero un algoritmo di crittografia utilizzato solo se si specifica che lo stato di visualizzazione è crittografato. Si tratta di un valore legacy che deve essere selezionato solo se è necessaria la compatibilità con le versioni precedenti di ASP.NET.

AES 3

Specifica che ASP.NET utilizza l'algoritmo AES di crittografia. Scegliere questa opzione se si vuole crittografare lo stato di visualizzazione nell'applicazione Web.

Se si sceglie questa opzione, la DecryptionKey proprietà verrà usata per la crittografia e la decrittografia e l'algoritmo HMACSHA1 hash verrà usato con la proprietà per la ValidationKey convalida.

HMACSHA256 4

Specifica che ASP.NET usa l'algoritmo HMACSHA256 hash, ovvero un algoritmo hash SHA2 che genera un codice hash a 256 bit. Questo è il valore predefinito.

HMACSHA384 5

Specifica che ASP.NET usa l'algoritmo HMACSHA384 hash, ovvero un algoritmo hash SHA2 che genera un codice hash a 384 bit. Questa opzione è disponibile per le applicazioni che richiedono una maggiore sicurezza rispetto a quella fornita dall'algoritmo HMACSHA256 .

HMACSHA512 6

Specifica che ASP.NET usa l'algoritmo HMACSHA512 hash, ovvero un algoritmo hash SHA2 che genera un codice hash a 512 bit. Questa opzione è disponibile per le applicazioni che richiedono una maggiore sicurezza rispetto a quella fornita dall'algoritmo >HMACSHA384 .

Custom 7

Specifica che ASP.NET utilizza un algoritmo hash personalizzato. L'algoritmo hash personalizzato può essere implementato in qualsiasi classe che deriva da KeyedHashAlgorithm.

L'algoritmo personalizzato viene in genere specificato in modo dichiarativo nell'attributo dell'elemento validationmachineKey , nel formato alg:`*algorithm_name*. Per informazioni su come specificare un algoritmo personalizzato nel codice, vedere la ValidationAlgorithm proprietà .

Esempio

Nell'esempio di codice seguente viene illustrato come usare l'enumerazione MachineKeyValidation . Nell'esempio è configSection un'istanza di MachineKeySection. Questo esempio di codice fa parte di un esempio più ampio fornito per la MachineKeySection classe .

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

Commenti

ASP.NET usa un codice HMAC (Hash-Based Message Authentication Code) per rilevare se i dati usati per l'autenticazione basata su form o lo stato di visualizzazione sono stati manomessi. L'HMAC viene generato quando viene creato il contenuto dello stato di visualizzazione e l'HMAC viene controllato nelle richieste successive. HMAC aiuta ASP.NET determinare se un utente ha modificato i dati inviati tra il server e il client, ma i dati possono essere letti da chiunque mentre viaggia attraverso Internet, a meno che non sia crittografato. Per impostazione predefinita, lo stato di visualizzazione viene convalidato ma non crittografato. Per altre informazioni, vedere ViewStateEncryptionMode e RegisterRequiresViewStateEncryption.

L'enumerazione MachineKeyValidation consente di specificare l'algoritmo usato ASP.NET per creare HMAC. Il valore predefinito è HMACSHA256. ASP.NET usa il valore della ValidationKey proprietà con l'algoritmo selezionato per generare HMAC.

Si applica a

Vedi anche