Condividi tramite


MachineKeyValidation Enumerazione

Definizione

Specifica l'algoritmo di hash usato da ASP.NET per l'autenticazione basata su form e la convalida dei dati dello stato di visualizzazione e per l'identificazione dello stato delle sessioni out-of-process.

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

Campi

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, verranno usati la proprietà DecryptionKey per la crittografia e la decrittografia e l'algoritmo hash HMACSHA1 con la proprietà ValidationKey per la convalida.

Custom 7

Specifica che ASP.NET utilizzerà 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 proprietà ValidationAlgorithm.

HMACSHA256 4

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

HMACSHA384 5

Specifica che ASP.NET usa l'algoritmo hash HMACSHA384, che è 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 offerta dall'algoritmo HMACSHA256.

HMACSHA512 6

Specifica che ASP.NET usa l'algoritmo hash HMACSHA512, che è 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 offerta dall'algoritmo >HMACSHA384.

MD5 0

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

SHA1 1

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

TripleDES 2

Specifica che ASP.NET usa l'algoritmo di crittografia TripleDES (3DES), ovvero un algoritmo di crittografia che viene usato solo se si specifica che lo stato di visualizzazione deve essere crittografato. Questo è un valore di tipo legacy che deve essere selezionato solo se è richiesta la compatibilità con le versioni precedenti di ASP.NET.

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 il codice HMAC viene controllato nelle richieste successive. HMAC consente di 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 anche. 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