HMACSHA1 Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Calcula um Código de Autenticação de Mensagens Baseado em Hash (HMAC) usando a SHA1 função hash.
public ref class HMACSHA1 : System::Security::Cryptography::KeyedHashAlgorithm
public ref class HMACSHA1 : System::Security::Cryptography::HMAC
public class HMACSHA1 : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACSHA1 : System.Security.Cryptography.HMAC
public class HMACSHA1 : System.Security.Cryptography.HMAC
type HMACSHA1 = class
inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACSHA1 = class
inherit HMAC
type HMACSHA1 = class
inherit HMAC
Public Class HMACSHA1
Inherits KeyedHashAlgorithm
Public Class HMACSHA1
Inherits HMAC
- Herança
- Herança
- Atributos
Observações
HMACSHA1 é um tipo de algoritmo de hash com chave construído a partir da função de hash SHA-1 e usado como HMAC, ou código de autenticação de mensagens baseado em hash. O processo HMAC mistura uma chave secreta com os dados da mensagem, faz o hash do resultado com a função hash, mistura esse valor de hash com a chave secreta novamente e depois aplica a função de hash uma segunda vez. O hash de saída tem 160 bits de comprimento.
Um HMAC pode ser usado para determinar se uma mensagem enviada por um canal inseguro foi adulterada, desde que o remetente e o recetor partilhem uma chave secreta. O remetente calcula o valor de hash dos dados originais e envia tanto os dados originais como o valor de hash como uma única mensagem. O receptor recalcula o valor de hash na mensagem recebida e verifica se o HMAC calculado corresponde ao HMAC transmitido.
Qualquer alteração nos dados ou no valor de hash resulta numa incompatibilidade, porque é necessário conhecer a chave secreta para alterar a mensagem e reproduzir o valor de hash correto. Portanto, se os valores de hash original e calculado coincidirem, a mensagem é autenticada.
O SHA-1 (Secure Hash Algorithm, também chamado SHS, Secure Hash Standard) é um algoritmo de hash criptográfico publicado pelo Governo dos Estados Unidos. Produz um valor hash de 160 bits a partir de uma cadeia de comprimento arbitrário.
HMACSHA1 aceita chaves de qualquer tamanho e produz uma sequência de hash com 160 bits de comprimento.
Devido a problemas de colisão com o SHA-1, a Microsoft recomenda o SHA-256.
Construtores
| Name | Description |
|---|---|
| HMACSHA1() |
Inicializa uma nova instância da HMACSHA1 classe com uma chave gerada aleatoriamente. |
| HMACSHA1(Byte[], Boolean) |
Inicializa uma nova instância da HMACSHA1 classe com os dados de chave especificados e um valor que especifica se deve usar a versão gerida do algoritmo SHA-1. |
| HMACSHA1(Byte[]) |
Inicializa uma nova instância da HMACSHA1 classe com os dados de chave especificados. |
Campos
| Name | Description |
|---|---|
| HashSizeValue |
Representa o tamanho, em bits, do código de hash calculado. (Herdado de HashAlgorithm) |
| HashValue |
Representa o valor do código de hash calculado. (Herdado de HashAlgorithm) |
| KeyValue |
A chave a usar no algoritmo de hash. (Herdado de KeyedHashAlgorithm) |
| State |
Representa o estado do cálculo do hash. (Herdado de HashAlgorithm) |
Propriedades
| Name | Description |
|---|---|
| BlockSizeValue |
Obtém ou define o tamanho do bloco a usar no valor de hash. (Herdado de HMAC) |
| CanReuseTransform |
Recebe um valor que indica se a transformada de corrente pode ser reutilizada. (Herdado de HashAlgorithm) |
| CanTransformMultipleBlocks |
Quando sobrescrito numa classe derivada, obtém um valor que indica se múltiplos blocos podem ser transformados. (Herdado de HashAlgorithm) |
| Hash |
Obtém o valor do código hash calculado. (Herdado de HashAlgorithm) |
| HashName |
Obtém ou define o nome do algoritmo de hash a usar para o hashing. |
| HashName |
Obtém ou define o nome do algoritmo de hash a usar para o hashing. (Herdado de HMAC) |
| HashSize |
Obtém o tamanho, em bits, do HMAC calculado. |
| HashSize |
Obtém o tamanho, em bits, do código de hash calculado. (Herdado de HashAlgorithm) |
| InputBlockSize |
Quando sobrescrito numa classe derivada, obtém o tamanho do bloco de entrada. (Herdado de HashAlgorithm) |
| Key |
Obtém ou define a chave a usar no algoritmo de hash. |
| Key |
Obtém ou define a chave para usar no cálculo do HMAC. (Herdado de HMAC) |
| OutputBlockSize |
Quando sobrescrito numa classe derivada, obtém o tamanho do bloco de saída. (Herdado de HashAlgorithm) |
Métodos
| Name | Description |
|---|---|
| Clear() |
Liberta todos os recursos usados pela HashAlgorithm turma. (Herdado de HashAlgorithm) |
| ComputeHash(Byte[], Int32, Int32) |
Calcula o valor de hash para a região especificada do array de bytes especificado. (Herdado de HashAlgorithm) |
| ComputeHash(Byte[]) |
Calcula o valor de hash para o array de bytes especificado. (Herdado de HashAlgorithm) |
| ComputeHash(Stream) |
Calcula o valor de hash para o objeto especificado Stream . (Herdado de HashAlgorithm) |
| Dispose() |
Liberta todos os recursos usados pela instância atual da HashAlgorithm classe. (Herdado de HashAlgorithm) |
| Dispose(Boolean) |
Este membro sobrepõe-se Dispose(Boolean), e pode estar disponível documentação mais completa nesse tópico. Liberta os recursos não geridos usados pelo KeyedHashAlgorithm e opcionalmente liberta os recursos geridos. |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pela HMAC classe quando uma alteração de chave é legítima e, opcionalmente, liberta os recursos geridos. (Herdado de HMAC) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Permite que um objeto tente libertar recursos e realizar outras operações de limpeza antes de ser recuperado pela recolha de lixo. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HashCore(Byte[], Int32, Int32) |
Encaminha os dados escritos para o objeto para o algoritmo de hash SHA1 para calcular o Código de Autenticação de Mensagens Baseado em Hash (HMAC). |
| HashCore(Byte[], Int32, Int32) |
Quando sobreposto numa classe derivada, os dados escritos para o objeto são direcionados para o algoritmo HMAC para calcular o valor HMAC. (Herdado de HMAC) |
| HashCore(ReadOnlySpan<Byte>) |
Encaminha os dados escritos para o objeto para o algoritmo HMAC para calcular o HMAC. |
| HashFinal() |
Finaliza o cálculo HMAC após o processamento dos últimos dados pelo algoritmo. |
| HashFinal() |
Quando sobreposto numa classe derivada, finaliza o cálculo HMAC após o último dado ser processado pelo algoritmo. (Herdado de HMAC) |
| Initialize() |
Reinicia o algoritmo de hash para o seu estado inicial. |
| Initialize() |
Inicializa uma instância da implementação padrão de HMAC. (Herdado de HMAC) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Calcula o valor de hash para a região especificada do array de bytes de entrada e copia a região especificada do array de bytes de entrada para a região especificada do array de bytes de saída. (Herdado de HashAlgorithm) |
| TransformFinalBlock(Byte[], Int32, Int32) |
Calcula o valor de hash para a região especificada do array de bytes especificado. (Herdado de HashAlgorithm) |
| TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tenta calcular o valor de hash para o array de bytes especificado. (Herdado de HashAlgorithm) |
| TryHashFinal(Span<Byte>, Int32) |
Tentativas de finalizar o cálculo HMAC após o processamento dos últimos dados pelo algoritmo HMAC. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Liberta os recursos não geridos usados pelo HashAlgorithm e opcionalmente liberta os recursos geridos. (Herdado de HashAlgorithm) |