Compartilhar via


MachineKeyValidation Enumeração

Definição

Especifica o algoritmo de hash que o ASP.NET usa para autenticação de formulários e para validar dados de estado de exibição e para identificação do estado de sessão fora do processo.

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
Herança
MachineKeyValidation

Campos

AES 3

Especifica que ASP.NET usa o AES algoritmo de criptografia. Escolha esta opção se você quiser criptografar o estado de exibição em seu aplicativo Web.

Se você escolher essa opção, a propriedade DecryptionKey será usada para criptografia e descriptografia e o algoritmo de hash HMACSHA1 será usado com a propriedade ValidationKey para validação.

Custom 7

Especifica que o ASP.NET usa um algoritmo de hash personalizado. O algoritmo de hash personalizado pode ser implementado em qualquer classe que deriva de KeyedHashAlgorithm.

O algoritmo personalizado normalmente é especificado declarativamente no validation atributo do elemento machineKey , no formato alg:`*algorithm_name*. Para obter informações sobre como especificar um algoritmo personalizado no código, consulte a propriedade ValidationAlgorithm.

HMACSHA256 4

Especifica que o ASP.NET usa o algoritmo de hash HMACSHA256, que é um algoritmo de hash de SHA2 que gera um código hash de 256 bits. Este é o valor padrão.

HMACSHA384 5

Especifica que o ASP.NET usa o algoritmo de hash HMACSHA384, que é um algoritmo de hash de SHA2 que gera um código hash de 384 bits. Essa opção está disponível para aplicativos que exigem segurança mais forte que aquela oferecida pelo algoritmo HMACSHA256.

HMACSHA512 6

Especifica que o ASP.NET usa o algoritmo de hash HMACSHA512, que é um algoritmo de hash de SHA2 que gera um código hash de 512 bits. Essa opção está disponível para aplicativos que exigem segurança mais forte que aquela oferecida pelo algoritmo >HMACSHA384.

MD5 0

Especifica que o ASP.NET usa o algoritmo de hash Resumo da Mensagem 5 (MD5), que é um algoritmo de hash que gera um valor de hash de 128 bits. Este é um valor herdado que deverá ser selecionado apenas se a compatibilidade com versões anteriores do ASP.NET for necessária.

SHA1 1

Especifica que o ASP.NET usa o algoritmo de hash HMACSHA1, que é um algoritmo de hash que gera um valor de hash de 160 bits. Este é um valor herdado que deverá ser selecionado apenas se a compatibilidade com versões anteriores do ASP.NET for necessária.

TripleDES 2

Especifica que o ASP.NET usa o algoritmo de criptografia TripleDES (3DES), um algoritmo de criptografia usado apenas se você especificar que o estado de exibição é criptografado. Este é um valor herdado que deverá ser selecionado apenas se a compatibilidade com versões anteriores do ASP.NET for necessária.

Exemplos

O exemplo de código a seguir mostra como usar a MachineKeyValidation enumeração . No exemplo, configSection é uma instância de MachineKeySection. Este exemplo de código faz parte de um exemplo maior fornecido para a MachineKeySection classe .

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

Comentários

ASP.NET usa um HMAC (código de autenticação de mensagem baseado em hash) para ajudar a detectar se os dados usados para autenticação de formulários ou estado de exibição foram adulterados. O HMAC é gerado quando o conteúdo do estado de exibição é criado e o HMAC é verificado nas solicitações subsequentes. O HMAC ajuda ASP.NET determinar se alguém alterou os dados que são enviados entre o servidor e o cliente, mas os dados podem ser lidos por qualquer pessoa enquanto viajam pela Internet, a menos que também sejam criptografados. Por padrão, o estado de exibição é validado, mas não criptografado. Para obter mais informações, consulte ViewStateEncryptionMode e RegisterRequiresViewStateEncryption.

A MachineKeyValidation enumeração permite especificar o algoritmo que ASP.NET usa para criar o HMAC. O valor padrão é HMACSHA256. ASP.NET usa o valor da ValidationKey propriedade com o algoritmo selecionado para gerar o HMAC.

Aplica-se a

Confira também