HMACMD5 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 MD5 função de hash.
public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
inherit HMAC
type HMACMD5 = class
inherit HMAC
Public Class HMACMD5
Inherits HMAC
- Herança
- Atributos
Comentários
HMACMD5 é um tipo de algoritmo de hash com chave que é construído a partir da função de hash do Algoritmo de Resumo de Mensagem 5 (MD5) e usado como um Código de Autenticação de Mensagem baseado em Hash (HMAC). 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 128 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.
MD5 é um algoritmo de hash criptográfico desenvolvido nos Laboratórios RSA. HMACMD5 aceita chaves de qualquer tamanho e produz uma sequência de hash de 128 bits de comprimento.
Devido a problemas de colisão com o MD5, a Microsoft recomenda SHA-256.
Construtores
| Nome | Description |
|---|---|
| HMACMD5() |
Inicializa uma nova instância da HMACMD5 classe usando uma chave gerada aleatoriamente. |
| HMACMD5(Byte[]) |
Inicializa uma nova instância da HMACMD5 classe usando a chave especificada. |
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. (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 cálculo HMAC. |
| 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) |
Libera os recursos não gerenciados usados pelo HMACMD5 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) |
| 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 HMAC para calcular o HMAC. |
| 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) |