HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm Class

Définition

Représente la classe de base dont toutes les implémentations des algorithmes de hachage de chiffrement doivent hériter.Represents the base class from which all implementations of cryptographic hash algorithms must derive.

public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
Héritage
HashAlgorithmHashAlgorithmHashAlgorithmHashAlgorithm
Dérivé
Attributs
Implémente

Exemples

Le code suivant exemple calcule le SHA1CryptoServiceProvider hachage pour un tableau.The following code example computes the SHA1CryptoServiceProvider hash for an array. Cet exemple suppose qu’il existe un tableau d’octets prédéfini dataArray[].This example assumes that there is a predefined byte array dataArray[]. SHA1CryptoServiceProvider est une classe dérivée de HashAlgorithm.SHA1CryptoServiceProvider is a derived class of HashAlgorithm.

HashAlgorithm^ sha = gcnew SHA1CryptoServiceProvider;
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = new SHA1CryptoServiceProvider();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As New SHA1CryptoServiceProvider()
Dim result As Byte() = sha.ComputeHash(dataArray)

Remarques

Fonctions de hachage sont fondamentale pour le chiffrement moderne.Hash functions are fundamental to modern cryptography. Ces fonctions mappent des chaînes binaires de longueur arbitraire en petites chaînes binaires de longueur fixe, connue en tant que valeurs de hachage.These functions map binary strings of an arbitrary length to small binary strings of a fixed length, known as hash values. Une fonction de hachage de chiffrement a la propriété qu’il est impossible de trouver deux entrées distinctes sur la même valeur de hachage.A cryptographic hash function has the property that it is computationally infeasible to find two distinct inputs that hash to the same value. Fonctions de hachage sont couramment utilisées avec des signatures numériques et l’intégrité des données.Hash functions are commonly used with digital signatures and for data integrity.

Le hachage est utilisé en tant que valeur unique de taille fixe représentant une grande quantité de données.The hash is used as a unique value of fixed size representing a large amount of data. Hachages de deux jeux de données doivent correspondre si les données correspondantes correspondent également.Hashes of two sets of data should match if the corresponding data also matches. Petites modifications aux données entraîne des modifications importantes et imprévisibles dans le hachage.Small changes to the data result in large unpredictable changes in the hash.

Notes pour les héritiers

Lorsque vous héritez de la HashAlgorithm (classe), vous devez substituer les membres suivants : HashCore(Byte[], Int32, Int32) et HashFinal().When you inherit from the HashAlgorithm class, you must override the following members: HashCore(Byte[], Int32, Int32) and HashFinal().

Constructeurs

HashAlgorithm() HashAlgorithm() HashAlgorithm() HashAlgorithm()

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

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.

HashValue HashValue HashValue HashValue

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

State State State State

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

Propriétés

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.

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.

Hash Hash Hash Hash

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

HashSize HashSize HashSize HashSize

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

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.

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.

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.

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.

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.

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.

Create() Create() Create() Create()

Crée une instance de l'implémentation par défaut d'un algorithme de hachage.Creates an instance of the default implementation of a hash algorithm.

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

Crée une instance de l'implémentation spécifiée d'un algorithme de hachage.Creates an instance of the specified implementation of a hash algorithm.

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.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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.

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 pour calculer le hachage.When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.

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 implémentation de la classe HashAlgorithm.Initializes an implementation of the HashAlgorithm class.

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.

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.

TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)
TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32) TryHashFinal(Span<Byte>, Int32)

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.

S’applique à

Voir aussi