HMAC HMAC HMAC HMAC Class

Définition

Représente la classe abstraite dont toutes les implémentations du code HMAC (Hash-based Message Authentication Code) doivent dériver.Represents the abstract class from which all implementations of Hash-based Message Authentication Code (HMAC) must derive.

public ref class HMAC abstract : System::Security::Cryptography::KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
type HMAC = class
    inherit KeyedHashAlgorithm
Public MustInherit Class HMAC
Inherits KeyedHashAlgorithm
Héritage
Dérivé
Attributs

Remarques

Un code d’authentification de message basé sur le hachage (HMAC) peut être utilisé pour déterminer si un message envoyé sur un canal non sécurisé a été falsifié, à condition que l’expéditeur et le destinataire partagent une clé secrète.A Hash-based Message Authentication Code (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. L’expéditeur calcule la valeur de hachage pour les données d’origine et envoie les données d’origine et le HMAC sous la forme d’un message unique.The sender computes the hash value for the original data and sends both the original data and the HMAC as a single message. Le destinataire recalcule la valeur de hachage sur le message reçu et vérifie que la valeur de hachage calculée correspond à la valeur de hachage transmise.The receiver recomputes the hash value on the received message and checks that the computed hash value matches the transmitted hash value.

HMAC peut être utilisé avec n’importe quelle fonction de hachage de chiffrement itérative, telle que MD5 ou SHA-1, en association avec une clé partagée secrète.HMAC can be used with any iterative cryptographic hash function, such as MD5 or SHA-1, in combination with a secret shared key. La force de chiffrement HMAC dépend des propriétés de la fonction de hachage sous-jacente.The cryptographic strength of HMAC depends on the properties of the underlying hash function.

Toute modification apportée aux données ou à la valeur de hachage entraîne une incompatibilité, car la connaissance de la clé secrète est requise pour modifier le message et reproduire la valeur de hachage correcte.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. Par conséquent, si les valeurs de hachage d’origine et calculées correspondent, le message est authentifié.Therefore, if the original and computed hash values match, the message is authenticated.

En raison de problèmes de collision avec MD5 et SHA-1, Microsoft recommande un modèle de sécurité basé sur SHA-256 ou une meilleure.Due to collision problems with MD5 and SHA-1, Microsoft recommends a security model based on SHA-256 or better.

Constructeurs

HMAC() HMAC() HMAC() HMAC()

Initialise une nouvelle instance de la classe HMAC.Initializes a new instance of the HMAC class.

Propriétés

BlockSizeValue BlockSizeValue BlockSizeValue BlockSizeValue

Obtient ou définit la taille de bloc à utiliser dans la valeur de hachage.Gets or sets the block size to use in the hash value.

CanReuseTransform CanReuseTransform CanReuseTransform CanReuseTransform

Obtient une valeur indiquant si la transformation actuelle peut être réutilisée.Gets a value indicating whether the current transform can be reused.

(Inherited from HashAlgorithm)
CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks

En cas de substitution dans une classe dérivée, obtient une valeur indiquant si plusieurs blocs peuvent être transformés.When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.

(Inherited from HashAlgorithm)
Hash Hash Hash Hash

Obtient la valeur du code de hachage calculé.Gets the value of the computed hash code.

(Inherited from HashAlgorithm)
HashName HashName HashName HashName

Obtient ou définit le nom de l'algorithme de hachage à utiliser pour le hachage.Gets or sets the name of the hash algorithm to use for hashing.

HashSize HashSize HashSize HashSize

Obtient la taille, en bits, du code de hachage calculé.Gets the size, in bits, of the computed hash code.

(Inherited from HashAlgorithm)
InputBlockSize InputBlockSize InputBlockSize InputBlockSize

En cas de substitution dans une classe dérivée, obtient la taille du bloc d'entrée.When overridden in a derived class, gets the input block size.

(Inherited from HashAlgorithm)
Key Key Key Key

Obtient ou définit la clé à utiliser dans l'algorithme de hachage.Gets or sets the key to use in the hash algorithm.

OutputBlockSize OutputBlockSize OutputBlockSize OutputBlockSize

En cas de substitution dans une classe dérivée, obtient la taille du bloc de sortie.When overridden in a derived class, gets the output block size.

(Inherited from HashAlgorithm)

Méthodes

Clear() Clear() Clear() Clear()

Libère toutes les ressources utilisées par la classe HashAlgorithm.Releases all resources used by the HashAlgorithm class.

(Inherited from HashAlgorithm)
ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[])

Calcule la valeur de hachage pour le tableau d'octets spécifié.Computes the hash value for the specified byte array.

(Inherited from HashAlgorithm)
ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32)

Calcule la valeur de hachage pour la région spécifiée du tableau d'octets spécifié.Computes the hash value for the specified region of the specified byte array.

(Inherited from HashAlgorithm)
ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream)

Calcule la valeur de hachage pour l'objet Stream spécifié.Computes the hash value for the specified Stream object.

(Inherited from HashAlgorithm)
Create() Create() Create() Create()

Crée une instance de l'implémentation par défaut d'un code HMAC (Hash-based Message Authentication Code).Creates an instance of the default implementation of a Hash-based Message Authentication Code (HMAC).

Create(String) Create(String) Create(String) Create(String)

Crée une instance de l'implémentation spécifiée d'un code HMAC (Hash-based Message Authentication Code).Creates an instance of the specified implementation of a Hash-based Message Authentication Code (HMAC).

Dispose() Dispose() Dispose() Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe HashAlgorithm.Releases all resources used by the current instance of the HashAlgorithm class.

(Inherited from HashAlgorithm)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Diffuse les ressources non managées utilisées par la classe HMAC lorsqu'un changement de clé est légitime et libère facultativement les ressources managées.Releases the unmanaged resources used by the HMAC class when a key change is legitimate and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32)

En cas de substitution dans une classe dérivée, achemine les données écrites dans l'objet vers l'algorithme de hachage HMAC par défaut pour calculer la valeur de hachage.When overridden in a derived class, routes data written to the object into the default HMAC hash algorithm for computing the hash value.

HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>)
HashFinal() HashFinal() HashFinal() HashFinal()

En cas de substitution dans une classe dérivée, finalise le calcul de hachage une fois les dernières données traitées par l'objet de flux de chiffrement.When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.

Initialize() Initialize() Initialize() Initialize()

Initialise une instance de l'implémentation par défaut de HMAC.Initializes an instance of the default implementation of HMAC.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Calcule la valeur de hachage pour la région spécifiée du tableau d'octets d'entrée et copie la région spécifiée du tableau d'octets d'entrée dans la région spécifiée du tableau d'octets de sortie.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.

(Inherited from HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32)

Calcule la valeur de hachage pour la région spécifiée du tableau d'octets spécifié.Computes the hash value for the specified region of the specified byte array.

(Inherited from HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) Inherited from HashAlgorithm
TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32)

Champs

HashSizeValue HashSizeValue HashSizeValue HashSizeValue

Représente la taille, en bits, du code de hachage calculé.Represents the size, in bits, of the computed hash code.

(Inherited from HashAlgorithm)
HashValue HashValue HashValue HashValue

Représente la valeur du code de hachage calculé.Represents the value of the computed hash code.

(Inherited from HashAlgorithm)
KeyValue KeyValue KeyValue KeyValue

Clé à utiliser dans l'algorithme de hachage.The key to use in the hash algorithm.

(Inherited from KeyedHashAlgorithm)
State State State State

Représente l'état du calcul du hachage.Represents the state of the hash computation.

(Inherited from HashAlgorithm)

Implémentations d’interfaces explicites

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Libère les ressources non managées utilisées par HashAlgorithm et libère éventuellement les ressources managées.Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

(Inherited from HashAlgorithm)

S’applique à

Voir aussi