MachineKeyValidation MachineKeyValidation MachineKeyValidation MachineKeyValidation Enum

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.Specifies the hashing algorithm that ASP.NET uses for forms authentication and for validating view state data, and for out-of-process session state identification.

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

Campi

AES AES AES AES 3

Specifica che in ASP.NET viene utilizzato l'algoritmo di crittografia (Rijndael) AES.Specifies that ASP.NET uses the AES (Rijndael) encryption algorithm. Scegliere questa opzione se si vuole crittografare lo stato di visualizzazione nell'applicazione Web.Choose this option if you want to encrypt view state in your Web application.

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.If you choose this option, the DecryptionKey property will be used for encryption and decryption, and the HMACSHA1 hash algorithm will be used with the ValidationKey property for validation.

Custom Custom Custom Custom 7

Specifica che ASP.NET utilizzerà un algoritmo hash personalizzato.Specifies that ASP.NET uses a custom hashing algorithm. L'algoritmo hash personalizzato può essere implementato in qualsiasi classe che deriva da KeyedHashAlgorithm.The custom hashing algorithm can be implemented in any class that derives from KeyedHashAlgorithm.

L'algoritmo personalizzato è in genere specificato in modo dichiarativo nell'attributo validation dell'elemento machineKey, nel formato alg:'*nome_algoritmo*.The custom algorithm is typically specified declaratively in the validation attribute of the machineKey element, in the format alg:\`*algorithm_name*. Per informazioni su come specificare un algoritmo personalizzato nel codice, vedere la proprietà ValidationAlgorithm.For information about how to specify a custom algorithm in code, see the ValidationAlgorithm property.

HMACSHA256 HMACSHA256 HMACSHA256 HMACSHA256 4

Specifica che ASP.NET usa l'algoritmo hash HMACSHA256, che è un algoritmo hash SHA2 che genera un codice hash a 256 bit.Specifies that ASP.NET uses the HMACSHA256 hashing algorithm, which is an SHA2 hashing algorithm that generates a 256-bit hash code. Rappresenta il valore predefinito.This is the default value.

HMACSHA384 HMACSHA384 HMACSHA384 HMACSHA384 5

Specifica che ASP.NET usa l'algoritmo hash HMACSHA384, che è un algoritmo hash SHA2 che genera un codice hash a 384 bit.Specifies that ASP.NET uses the HMACSHA384 hashing algorithm, which is an SHA2 hashing algorithm that generates a 384-bit hash code. Questa opzione è disponibile per le applicazioni che richiedono una maggiore sicurezza rispetto a quella offerta dall'algoritmo HMACSHA256.This option is available for applications that require stronger security than provided by the HMACSHA256 algorithm..

HMACSHA512 HMACSHA512 HMACSHA512 HMACSHA512 6

Specifica che ASP.NET usa l'algoritmo hash HMACSHA512, che è un algoritmo hash SHA2 che genera un codice hash a 512 bit.Specifies that ASP.NET uses the HMACSHA512 hashing algorithm, which is an SHA2 hashing algorithm that generates a 512-bit hash code. Questa opzione è disponibile per le applicazioni che richiedono una maggiore sicurezza rispetto a quella offerta dall'algoritmo >HMACSHA384.This option is available for applications that require stronger security than provided by the >HMACSHA384 algorithm.

MD5 MD5 MD5 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.Specifies that ASP.NET uses the Message Digest 5 (MD5) hashing algorithm, which is a hashing algorithm that generates a 128-bit hash value. Questo è un valore di tipo legacy che deve essere selezionato solo se è richiesta la compatibilità con le versioni precedenti di ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required.

SHA1 SHA1 SHA1 SHA1 1

Specifica che ASP.NET usa l'algoritmo hash HMACSHA1, che è un algoritmo hash che genera un codice hash a 160 bit.Specifies that ASP.NET uses the HMACSHA1 hash algorithm, which is a hashing algorithm that generates a 160-bit hash value. Questo è un valore di tipo legacy che deve essere selezionato solo se è richiesta la compatibilità con le versioni precedenti di ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required.

TripleDES TripleDES TripleDES 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.Specifies that ASP.NET uses the TripleDES (3DES) encryption algorithm, which is an encryption algorithm that is used only if you specify that view state is encrypted. Questo è un valore di tipo legacy che deve essere selezionato solo se è richiesta la compatibilità con le versioni precedenti di ASP.NET.This is a legacy value that should be selected only if compatibility with earlier versions of ASP.NET is required..

Esempi

Nell'esempio di codice riportato di seguito viene illustrato MachineKeyValidation come utilizzare l'enumerazione.The following code example shows how to use the MachineKeyValidation enumeration. Nell'esempio, configSection è un'istanza di MachineKeySection. Questo esempio di codice fa parte di un esempio più ampio fornito MachineKeySection per la classe.In the example, configSection is an instance of MachineKeySection.This code example is part of a larger example provided for the MachineKeySection class.

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

Commenti

ASP.NET utilizza un codice HMAC (hash-based Message Authentication Code) per consentire di rilevare se i dati utilizzati per l'autenticazione basata su form o lo stato di visualizzazione sono stati manomessi.ASP.NET uses a hash-based message authentication code (HMAC) to help detect whether data that is used for forms authentication or view state has been tampered with. Il HMAC viene generato quando viene creato il contenuto dello stato di visualizzazione e il HMAC viene archiviato nelle richieste successive.The HMAC is generated when view state content is created, and the HMAC is checked on subsequent requests. Il formato HMAC aiuta ASP.NET a determinare se un utente ha modificato i dati inviati tra il server e il client, ma i dati possono essere letti da chiunque mentre passa attraverso Internet, a meno che non sia crittografato.The HMAC helps ASP.NET determine whether someone has changed data that is sent between the server and the client, but the data can be read by anyone as it travels through the Internet unless it is also encrypted. Per impostazione predefinita, lo stato di visualizzazione viene convalidato ma non crittografato.By default, view state is validated but not encrypted. Per altre informazioni, vedere ViewStateEncryptionMode e RegisterRequiresViewStateEncryption.For more information, see ViewStateEncryptionMode and RegisterRequiresViewStateEncryption.

L' MachineKeyValidation enumerazione consente di specificare l'algoritmo utilizzato da ASP.NET per creare il HMAC.The MachineKeyValidation enumeration lets you specify the algorithm that ASP.NET uses to create the HMAC. Il valore predefinito è HMACSHA256.The default value is HMACSHA256. ASP.NET usa il valore della ValidationKey proprietà con l'algoritmo selezionato per generare il HMAC.ASP.NET uses the value of the ValidationKey property with the selected algorithm to generate the HMAC.

Si applica a

Vedi anche