HMACSHA1 Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Calcula um HMAC (Código de Autenticação de Mensagem) baseado em Hash usando a SHA1 função de 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
Comentários
HMACSHA1 é um tipo de algoritmo de hash chave que é construído a partir da função de hash SHA-1 e usado como um HMAC ou código de autenticação de mensagem baseado em hash. O processo HMAC mistura uma chave secreta com os dados da mensagem, hashes o resultado com a função hash, mistura esse valor de hash com a chave secreta novamente e 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 receptor compartilhem uma chave secreta. O remetente calcula o valor de hash para os dados originais e envia os dados originais e o valor de hash como uma única mensagem. O receptor recalcula o valor de hash na mensagem recebida e verifica se o HMAC computado corresponde ao HMAC transmitido.
Qualquer alteração nos dados ou no valor de hash resulta em uma incompatibilidade, pois o conhecimento da chave secreta é necessário para alterar a mensagem e reproduzir o valor de hash correto. Portanto, se os valores de hash originais e computados corresponderem, a mensagem será autenticada.
O SHA-1 (Algoritmo de Hash Seguro, também chamado de SHS, Secure Hash Standard) é um algoritmo de hash criptográfico publicado pelo governo Estados Unidos. Ele produz um valor de hash de 160 bits de uma cadeia de caracteres de comprimento arbitrário.
HMACSHA1 aceita chaves de qualquer tamanho e produz uma sequência de hash de 160 bits de comprimento.
Devido a problemas de colisão com SHA-1, a Microsoft recomenda SHA-256.
Construtores
| Nome | 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 a versão gerenciada do algoritmo SHA-1 deve ser usada. |
| HMACSHA1(Byte[]) |
Inicializa uma nova instância da HMACSHA1 classe com os dados de chave especificados. |
Campos
| Nome | Description |
|---|---|
| HashSizeValue |
Representa o tamanho, em bits, do código hash computado. (Herdado de HashAlgorithm) |
| HashValue |
Representa o valor do código hash computado. (Herdado de HashAlgorithm) |
| KeyValue |
A chave a ser usada no algoritmo de hash. (Herdado de KeyedHashAlgorithm) |
| State |
Representa o estado da computação de hash. (Herdado de HashAlgorithm) |
Propriedades
| Nome | Description |
|---|---|
| BlockSizeValue |
Obtém ou define o tamanho do bloco a ser usado no valor de hash. (Herdado de HMAC) |
| CanReuseTransform |
Obtém um valor que indica se a transformação atual pode ser reutilizado. (Herdado de HashAlgorithm) |
| CanTransformMultipleBlocks |
Quando substituído em uma classe derivada, obtém um valor que indica se vários blocos podem ser transformados. (Herdado de HashAlgorithm) |
| Hash |
Obtém o valor do código hash computado. (Herdado de HashAlgorithm) |
| HashName |
Obtém ou define o nome do algoritmo de hash a ser usado para hash. |
| HashName |
Obtém ou define o nome do algoritmo de hash a ser usado para hash. (Herdado de HMAC) |
| HashSize |
Obtém o tamanho, em bits, do HMAC computado. |
| HashSize |
Obtém o tamanho, em bits, do código hash computado. (Herdado de HashAlgorithm) |
| InputBlockSize |
Quando substituído em uma classe derivada, obtém o tamanho do bloco de entrada. (Herdado de HashAlgorithm) |
| Key |
Obtém ou define a chave a ser usada no algoritmo de hash. |
| Key |
Obtém ou define a chave a ser usada no cálculo HMAC. (Herdado de HMAC) |
| OutputBlockSize |
Quando substituído em uma classe derivada, obtém o tamanho do bloco de saída. (Herdado de HashAlgorithm) |
Métodos
| Nome | Description |
|---|---|
| Clear() |
Libera todos os recursos usados pela HashAlgorithm classe. (Herdado de HashAlgorithm) |
| ComputeHash(Byte[], Int32, Int32) |
Calcula o valor de hash para a região especificada da matriz de bytes especificada. (Herdado de HashAlgorithm) |
| ComputeHash(Byte[]) |
Calcula o valor de hash para a matriz de bytes especificada. (Herdado de HashAlgorithm) |
| ComputeHash(Stream) |
Calcula o valor de hash para o objeto especificado Stream . (Herdado de HashAlgorithm) |
| Dispose() |
Libera todos os recursos usados pela instância atual da HashAlgorithm classe. (Herdado de HashAlgorithm) |
| Dispose(Boolean) |
Esse membro substitui Dispose(Boolean)e a documentação mais completa pode estar disponível nesse tópico. Libera os recursos não gerenciados usados pelo KeyedHashAlgorithm e, opcionalmente, libera os recursos gerenciados. |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pela HMAC classe quando uma alteração de chave é legítima e, opcionalmente, libera os recursos gerenciados. (Herdado de HMAC) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes de ser recuperado pela coleta de lixo. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HashCore(Byte[], Int32, Int32) |
Roteia dados gravados para o objeto no algoritmo de hash SHA1 para calcular o HMAC (Código de Autenticação de Mensagem baseado em Hash). |
| HashCore(Byte[], Int32, Int32) |
Quando substituído em uma classe derivada, roteia os dados gravados para o objeto no algoritmo HMAC para calcular o valor HMAC. (Herdado de HMAC) |
| HashCore(ReadOnlySpan<Byte>) |
Roteia dados gravados para o objeto no algoritmo HMAC para calcular o HMAC. |
| HashFinal() |
Finaliza a computação HMAC depois que os últimos dados são processados pelo algoritmo. |
| HashFinal() |
Quando substituído em uma classe derivada, finaliza a computação HMAC depois que os últimos dados são processados pelo algoritmo. (Herdado de HMAC) |
| Initialize() |
Redefine o algoritmo de hash para 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 Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Calcula o valor de hash para a região especificada da matriz de bytes de entrada e copia a região especificada da matriz de bytes de entrada para a região especificada da matriz de bytes de saída. (Herdado de HashAlgorithm) |
| TransformFinalBlock(Byte[], Int32, Int32) |
Calcula o valor de hash para a região especificada da matriz de bytes especificada. (Herdado de HashAlgorithm) |
| TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tenta calcular o valor de hash para a matriz de bytes especificada. (Herdado de HashAlgorithm) |
| TryHashFinal(Span<Byte>, Int32) |
Tenta finalizar a computação HMAC depois que os últimos dados são processados pelo algoritmo HMAC. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IDisposable.Dispose() |
Libera os recursos não gerenciados usados pelo HashAlgorithm e, opcionalmente, libera os recursos gerenciados. (Herdado de HashAlgorithm) |