HMACSHA1 Clase

Definición

Calcula un código de autenticación de mensajes basado en hash (HMAC) mediante la función hash SHA1.Computes a Hash-based Message Authentication Code (HMAC) using the SHA1 hash function.

public ref class HMACSHA1 : System::Security::Cryptography::HMAC
public ref class HMACSHA1 : System::Security::Cryptography::KeyedHashAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACSHA1 : System.Security.Cryptography.HMAC
public 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
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACSHA1 = class
    inherit HMAC
type HMACSHA1 = class
    inherit HMAC
type HMACSHA1 = class
    inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACSHA1 = class
    inherit HMAC
Public Class HMACSHA1
Inherits HMAC
Public Class HMACSHA1
Inherits KeyedHashAlgorithm
Herencia
Herencia
Atributos

Comentarios

HMACSHA1 es un tipo de algoritmo hash con clave que se construye a partir de la función hash SHA1 y se usa como un código de autenticación de mensajes basado en hash o HMAC.HMACSHA1 is a type of keyed hash algorithm that is constructed from the SHA1 hash function and used as an HMAC, or hash-based message authentication code. El proceso HMAC combina una clave secreta con los datos del mensaje, aplica un algoritmo hash al resultado con la función hash, combina ese valor hash con la clave secreta y, a continuación, aplica la función hash por segunda vez.The HMAC process mixes a secret key with the message data, hashes the result with the hash function, mixes that hash value with the secret key again, and then applies the hash function a second time. El hash de salida tiene una longitud de 160 bits.The output hash is 160 bits in length.

Un HMAC se puede usar para determinar si se ha alterado un mensaje enviado a través de un canal no seguro, siempre que el remitente y el receptor compartan una clave secreta.An HMAC can be used to determine whether a message sent over an insecure channel has been tampered with, provided that the sender and receiver share a secret key. El remitente calcula el valor hash de los datos originales y envía los datos originales y el valor hash como un solo mensaje.The sender computes the hash value for the original data and sends both the original data and hash value as a single message. El receptor vuelve a calcular el valor hash del mensaje recibido y comprueba que el HMAC calculado coincide con el HMAC transmitido.The receiver recalculates the hash value on the received message and checks that the computed HMAC matches the transmitted HMAC.

Cualquier cambio en los datos o en el valor hash produce una falta de coincidencia, ya que el conocimiento de la clave secreta es necesario para cambiar el mensaje y reproducir el valor hash correcto.Any change to the data or the hash value results in a mismatch, because knowledge of the secret key is required to change the message and reproduce the correct hash value. Por lo tanto, si los valores hash originales y calculados coinciden, el mensaje se autentica.Therefore, if the original and computed hash values match, the message is authenticated.

SHA-1 (algoritmo hash seguro, también denominado SHS, Secure hash Standard) es un algoritmo hash criptográfico publicado por el Estados Unidos Government.The SHA-1 (Secure Hash Algorithm, also called SHS, Secure Hash Standard) is a cryptographic hash algorithm published by the United States Government. Genera un valor hash de 160 bits a partir de una cadena de longitud arbitraria.It produces a 160-bit hash value from an arbitrary length string.

HMACSHA1 acepta claves de cualquier tamaño y genera una secuencia hash de 160 bits de longitud.HMACSHA1 accepts keys of any size, and produces a hash sequence that is 160 bits in length.

Debido a problemas de colisión con SHA1, Microsoft recomienda SHA256.Due to collision problems with SHA1, Microsoft recommends SHA256.

Constructores

HMACSHA1()

Inicializa una nueva instancia de la clase HMACSHA1 con una clave generada aleatoriamente.Initializes a new instance of the HMACSHA1 class with a randomly generated key.

HMACSHA1(Byte[])

Inicializa una nueva instancia de la clase HMACSHA1 con los datos de clave especificados.Initializes a new instance of the HMACSHA1 class with the specified key data.

HMACSHA1(Byte[], Boolean)

Inicializa una nueva instancia de la clase HMACSHA1 con los datos de clave especificados y un valor que especifica si se debe usar la versión administrada del algoritmo SHA1.Initializes a new instance of the HMACSHA1 class with the specified key data and a value that specifies whether to use the managed version of the SHA1 algorithm.

Campos

HashSizeValue

Representa el tamaño en bits del código hash calculado.Represents the size, in bits, of the computed hash code.

(Heredado de HashAlgorithm)
HashValue

Representa el valor del código hash calculado.Represents the value of the computed hash code.

(Heredado de HashAlgorithm)
KeyValue

Clave que se va a usar en el algoritmo hash.The key to use in the hash algorithm.

(Heredado de KeyedHashAlgorithm)
State

Representa el estado del cálculo del valor hash.Represents the state of the hash computation.

(Heredado de HashAlgorithm)

Propiedades

BlockSizeValue

Obtiene o establece el tamaño de bloque que se va a usar en el valor hash.Gets or sets the block size to use in the hash value.

(Heredado de HMAC)
CanReuseTransform

Obtiene un valor que indica si la transformación actual puede volver a usarse.Gets a value indicating whether the current transform can be reused.

(Heredado de HashAlgorithm)
CanTransformMultipleBlocks

Cuando se invalida en una clase derivada, obtiene un valor que indica si se pueden transformar varios bloques.When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.

(Heredado de HashAlgorithm)
Hash

Obtiene el valor del código hash calculado.Gets the value of the computed hash code.

(Heredado de HashAlgorithm)
HashName

Obtiene o establece el nombre del algoritmo hash que se va a usar para la operación hash.Gets or sets the name of the hash algorithm to use for hashing.

HashName

Obtiene o establece el nombre del algoritmo hash que se va a utilizar para la operación hash.Gets or sets the name of the hash algorithm to use for hashing.

(Heredado de HMAC)
HashSize

Obtiene el tamaño en bits del HMAC calculado.Gets the size, in bits, of the computed HMAC.

HashSize

Obtiene el tamaño en bits del código hash calculado.Gets the size, in bits, of the computed hash code.

(Heredado de HashAlgorithm)
InputBlockSize

Cuando se invalida en una clase derivada, obtiene el tamaño del bloque de entrada.When overridden in a derived class, gets the input block size.

(Heredado de HashAlgorithm)
Key

Obtiene o establece la clave que se va a usar en el algoritmo hash.Gets or sets the key to use in the hash algorithm.

Key

Obtiene o establece la clave que se va a usar en el cálculo de HMAC.Gets or sets the key to use in the HMAC calculation.

(Heredado de HMAC)
OutputBlockSize

Cuando se invalida en una clase derivada, obtiene el tamaño del bloque de salida.When overridden in a derived class, gets the output block size.

(Heredado de HashAlgorithm)

Métodos

Clear()

Libera todos los recursos que utiliza la clase HashAlgorithm.Releases all resources used by the HashAlgorithm class.

(Heredado de HashAlgorithm)
ComputeHash(Byte[])

Calcula el valor hash para la matriz de bytes especificada.Computes the hash value for the specified byte array.

(Heredado de HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Calcula el valor hash para la región especificada de la matriz de bytes indicada.Computes the hash value for the specified region of the specified byte array.

(Heredado de HashAlgorithm)
ComputeHash(Stream)

Calcula el valor hash del objeto Stream especificado.Computes the hash value for the specified Stream object.

(Heredado de HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Calcula de manera asincrónica el valor hash del objeto Stream especificado.Asynchronously computes the hash value for the specified Stream object.

(Heredado de HashAlgorithm)
Dispose()

Libera todos los recursos usados por la instancia actual de la clase HashAlgorithm.Releases all resources used by the current instance of the HashAlgorithm class.

(Heredado de HashAlgorithm)
Dispose(Boolean)

Este miembro reemplaza a Dispose(Boolean); puede haber documentación más completa en ese tema.This member overrides Dispose(Boolean), and more complete documentation might be available in that topic.

Libera los recursos no administrados que usa KeyedHashAlgorithm y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the KeyedHashAlgorithm and optionally releases the managed resources.

Dispose(Boolean)

Libera los recursos no administrados que usa la clase HMAC cuando un cambio de clave es legítimo y, opcionalmente, libera los recursos administrados.Releases the unmanaged resources used by the HMAC class when a key change is legitimate and optionally releases the managed resources.

(Heredado de HMAC)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
Finalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de que sea reclamado por la recolección de elementos no utilizados.Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.

GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

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

Redirige los datos escritos en el objeto al algoritmo hash SHA1 para el cálculo del código de autenticación de mensajes basado en hash (HMAC).Routes data written to the object into the SHA1 hash algorithm for computing the Hash-based Message Authentication Code (HMAC).

HashCore(Byte[], Int32, Int32)

Cuando se invalida en una clase derivada, enruta los datos escritos en el objeto al algoritmo HMAC para el cálculo del valor de HMAC.When overridden in a derived class, routes data written to the object into the HMAC algorithm for computing the HMAC value.

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

Envía los datos escritos en el objeto al algoritmo HMAC para el cálculo del HMAC.Routes data written to the object into the HMAC algorithm for computing the HMAC.

HashCore(ReadOnlySpan<Byte>)

Envía los datos escritos en el objeto al algoritmo HMAC para el cálculo del HMAC.Routes data written to the object into the HMAC algorithm for computing the HMAC.

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

Envía los datos escritos en el objeto al algoritmo hash para el cálculo del valor hash.Routes data written to the object into the hash algorithm for computing the hash.

(Heredado de HashAlgorithm)
HashFinal()

Finaliza el cálculo de HMAC una vez que el algoritmo procesa los últimos datos.Finalizes the HMAC computation after the last data is processed by the algorithm.

HashFinal()

Cuando se invalida en una clase derivada, finaliza el cálculo de HMAC una vez que el algoritmo termina de procesar los últimos datos.When overridden in a derived class, finalizes the HMAC computation after the last data is processed by the algorithm.

(Heredado de HMAC)
Initialize()

Restablece el algoritmo hash a su estado inicial.Resets the hash algorithm to its initial state.

Initialize()

Inicializa una instancia de la implementación predeterminada de HMAC.Initializes an instance of the default implementation of HMAC.

(Heredado de HMAC)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Calcula el valor hash para la región especificada de la matriz de bytes de entrada y copia la región especificada de la matriz de bytes de entrada resultante en la región indicada de la matriz de bytes de salida.Computes the hash value for the specified region of the input byte array and copies the specified region of the input byte array to the specified region of the output byte array.

(Heredado de HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Calcula el valor hash para la región especificada de la matriz de bytes indicada.Computes the hash value for the specified region of the specified byte array.

(Heredado de HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Intenta calcular el valor de hash para la matriz de bytes especificada.Attempts to compute the hash value for the specified byte array.

(Heredado de HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)

Intenta finalizar el cálculo de HMAC una vez que el algoritmo HMAC procesa los últimos datos.Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.

TryHashFinal(Span<Byte>, Int32)

Intenta finalizar el cálculo de HMAC una vez que el algoritmo HMAC procesa los últimos datos.Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.

(Heredado de HMAC)
TryHashFinal(Span<Byte>, Int32)

Intenta finalizar el cálculo de hash una vez que el algoritmo hash procesa los últimos datos.Attempts to finalize the hash computation after the last data is processed by the hash algorithm.

(Heredado de HashAlgorithm)

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera los recursos no administrados que usa HashAlgorithm y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

(Heredado de HashAlgorithm)

Se aplica a