Partilhar via


MachineKeyValidation Enumeração

Definição

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

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

Campos

Nome Valor Description
MD5 0

Especifica que ASP.NET usa o algoritmo de hash message digest 5 (MD5), que é um algoritmo de hash que gera um valor de hash de 128 bits. Esse é um valor herdado que deve ser selecionado somente se a compatibilidade com versões anteriores do ASP.NET for necessária.

SHA1 1

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

TripleDES 2

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

AES 3

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

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

HMACSHA256 4

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

HMACSHA384 5

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

HMACSHA512 6

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

Custom 7

Especifica que 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 ValidationAlgorithm propriedade.

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