Compartilhar via


HMACMD5 Classe

Definição

Calcula um HMAC (Hash-based Message Authentication Code) usando a função de hash MD5.

public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
    inherit HMAC
type HMACMD5 = class
    inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
    inherit HMAC
Public Class HMACMD5
Inherits HMAC
Herança
Atributos

Comentários

HMACMD5 é um tipo de algoritmo de hash chave que é construído a partir da função de hash do Algoritmo de Resumo de Mensagens 5 (MD5) e usado como um HMAC (Código de Autenticação de Mensagem) baseado em Hash. O processo HMAC mistura uma chave secreta com os dados da mensagem, faz hashes do resultado com a função de 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 calculado 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 o SHA256.

Construtores

HMACMD5()

Inicializa uma nova instância da classe HMACMD5 usando uma chave gerada aleatoriamente.

HMACMD5(Byte[])

Inicializa uma nova instância da classe HMACMD5 usando a chave especificada.

Campos

HashSizeInBits

O tamanho do hash produzido pelo algoritmo HMAC MD5, em bits.

HashSizeInBytes

O tamanho do hash produzido pelo algoritmo HMAC MD5, em bytes.

HashSizeValue

Representa o tamanho, em bits, do código hash calculado.

(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 do cálculo de hash.

(Herdado de HashAlgorithm)

Propriedades

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 reutilizada.

(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 calculado.

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 HMAC.

Key

Obtém ou define a chave a ser usada no algoritmo 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

Clear()

Libera todos os recursos usados pela classe HashAlgorithm.

(Herdado de HashAlgorithm)
ComputeHash(Byte[])

Calcula o valor do hash da matriz de bytes especificada.

(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(Stream)

Calcula o valor do hash do objeto Stream especificado.

(Herdado de HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Calcula assincronamente o valor do hash do objeto Stream especificado.

(Herdado de HashAlgorithm)
Dispose()

Libera todos os recursos usados pela instância atual da classe HashAlgorithm.

(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 classe HMAC 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 de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HashCore(Byte[], Int32, Int32)

Roteia os dados gravados no objeto para o algoritmo HMAC para cálculo do HMAC.

HashCore(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, roteia os dados gravados no objeto para o algoritmo HMAC para cálculo do valor de HMAC.

(Herdado de HMAC)
HashCore(ReadOnlySpan<Byte>)

Roteia os dados gravados no objeto para o algoritmo HMAC para cálculo do HMAC.

HashCore(ReadOnlySpan<Byte>)

Roteia os dados gravados no objeto para o algoritmo HMAC para cálculo do HMAC.

(Herdado de HMAC)
HashData(Byte[], Byte[])

Calcula o HMAC de dados usando o algoritmo MD5.

HashData(Byte[], Stream)

Calcula o HMAC de um fluxo usando o algoritmo MD5.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Calcula o HMAC de dados usando o algoritmo MD5.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Calcula o HMAC de dados usando o algoritmo MD5.

HashData(ReadOnlySpan<Byte>, Stream)

Calcula o HMAC de um fluxo usando o algoritmo MD5.

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

Calcula o HMAC de um fluxo usando o algoritmo MD5.

HashDataAsync(Byte[], Stream, CancellationToken)

Calcula de forma assíncrona o HMAC de um fluxo usando o algoritmo MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

Calcula de forma assíncrona o HMAC de um fluxo usando o algoritmo MD5.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

Calcula de forma assíncrona o HMAC de um fluxo usando o algoritmo MD5.

HashFinal()

Finaliza o cálculo de HMAC depois que os últimos dados são processados pelo algoritmo.

HashFinal()

Quando substituído em uma classe derivada, finaliza o cálculo de HMAC depois que os últimos dados são processados pelo algoritmo.

(Herdado de HMAC)
Initialize()

Redefine o algoritmo de hash para o estado inicial.

Initialize()

Inicializa uma nova instância da implementação padrão do HMAC.

(Herdado de HMAC)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(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)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

Tenta calcular o HMAC de dados usando o algoritmo MD5.

TryHashFinal(Span<Byte>, Int32)

Tenta finalizar o cálculo de HMAC depois que os últimos dados são processados pelo algoritmo HMAC.

TryHashFinal(Span<Byte>, Int32)

Tenta finalizar o cálculo de HMAC depois que os últimos dados são processados pelo algoritmo HMAC.

(Herdado de HMAC)

Implantações explícitas de interface

IDisposable.Dispose()

Libera os recursos não gerenciados usados pelo HashAlgorithm e opcionalmente libera os recursos gerenciados.

(Herdado de HashAlgorithm)

Aplica-se a

Confira também