HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm Class

Definition

Stellt die abstrakte Basisklasse dar, von der alle Implementierungen kryptografischer Hashalgorithmen abgeleitet werden müssen.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
Vererbung
HashAlgorithmHashAlgorithmHashAlgorithmHashAlgorithm
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel Beispiel berechnet den SHA1CryptoServiceProvider Hash für ein Array.The following code example computes the SHA1CryptoServiceProvider hash for an array. In diesem Beispiel wird vorausgesetzt, dass ein vordefiniertes Bytearray dataArray[].This example assumes that there is a predefined byte array dataArray[]. SHA1CryptoServiceProvider ist eine abgeleitete Klasse von 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)

Hinweise

Hash-Funktionen sind ein wesentlicher Bestandteil moderner Kryptografie.Hash functions are fundamental to modern cryptography. Diese Funktionen zuordnen binäre Zeichenfolgen eine beliebige Länge kleinen binären Zeichenfolgen fester Länge, die als Hashwerte bezeichnet.These functions map binary strings of an arbitrary length to small binary strings of a fixed length, known as hash values. Eine kryptografischen Hashfunktion ist die Eigenschaft, dass es rechnerisch unmöglich, zwei verschiedene Eingabewerte zu ermitteln, Hashwert auf den gleichen Wert ist.A cryptographic hash function has the property that it is computationally infeasible to find two distinct inputs that hash to the same value. Hashfunktionen werden häufig bei digitalen Signaturen und für die Datenintegrität verwendet.Hash functions are commonly used with digital signatures and for data integrity.

Der Hash dient als eindeutiger Wert mit fester Größe, die eine große Menge von Daten darstellt.The hash is used as a unique value of fixed size representing a large amount of data. Hashwerte von zwei Sätzen von Daten sollte übereinstimmen, wenn die entsprechenden Daten ebenfalls identisch.Hashes of two sets of data should match if the corresponding data also matches. Kleine Änderungen an den Daten führen zu umfangreichen unvorhersehbare Änderungen im HashSet.Small changes to the data result in large unpredictable changes in the hash.

Hinweise für Vererber

Beim Erben von der HashAlgorithm -Klasse, müssen Sie die folgenden Member überschreiben: HashCore(Byte[], Int32, Int32) und HashFinal().When you inherit from the HashAlgorithm class, you must override the following members: HashCore(Byte[], Int32, Int32) and HashFinal().

Konstruktoren

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

Initialisiert eine neue Instanz der HashAlgorithm-Klasse.Initializes a new instance of the HashAlgorithm class.

Felder

HashSizeValue HashSizeValue HashSizeValue HashSizeValue

Stellt die Größe des berechneten Hashcodes in Bits dar.Represents the size, in bits, of the computed hash code.

HashValue HashValue HashValue HashValue

Stellt den Wert des errechneten Hashcodes dar.Represents the value of the computed hash code.

State State State State

Stellt den Zustand der Hashberechnung dar.Represents the state of the hash computation.

Eigenschaften

CanReuseTransform CanReuseTransform CanReuseTransform CanReuseTransform

Ruft einen Wert ab, der angibt, ob die aktuelle Transformation wiederverwendet werden kann.Gets a value indicating whether the current transform can be reused.

CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob mehrere Blöcke transformiert werden können.When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.

Hash Hash Hash Hash

Ruft den Wert des berechneten Hashcodes ab.Gets the value of the computed hash code.

HashSize HashSize HashSize HashSize

Ruft die Größe des berechneten Hashcodes in Bits ab.Gets the size, in bits, of the computed hash code.

InputBlockSize InputBlockSize InputBlockSize InputBlockSize

Ruft beim Überschreiben in einer abgeleiteten Klasse die Eingabeblockgröße ab.When overridden in a derived class, gets the input block size.

OutputBlockSize OutputBlockSize OutputBlockSize OutputBlockSize

Ruft beim Überschreiben in einer abgeleiteten Klasse die Ausgabeblockgröße ab.When overridden in a derived class, gets the output block size.

Methoden

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

Gibt alle von der HashAlgorithm-Klasse verwendeten Ressourcen frei.Releases all resources used by the HashAlgorithm class.

ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[])

Errechnet den Hashwert für das angegebene Bytearray.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)

Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays.Computes the hash value for the specified region of the specified byte array.

ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream)

Berechnet den Hashwert für das angegebene Stream-Objekt.Computes the hash value for the specified Stream object.

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

Erstellt eine Instanz der Standardimplementierung eines Hashalgorithmus.Creates an instance of the default implementation of a hash algorithm.

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

Erstellt eine Instanz der angegebenen Implementierung eines Hashalgorithmus.Creates an instance of the specified implementation of a hash algorithm.

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

Gibt alle von der aktuellen Instanz der HashAlgorithm-Klasse verwendeten Ressourcen frei.Releases all resources used by the current instance of the HashAlgorithm class.

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

Gibt die von HashAlgorithm verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.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)

Leitet beim Überschreiben in einer abgeleiteten Klasse die in das Objekt geschriebenen Daten zum Errechnen des Hashs an den Hashalgorithmus weiter.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()

Schließt beim Überschreiben in einer abgeleiteten Klasse die Berechnung des Hashs ab, nachdem die letzten Daten vom Kryptografiestreamobjekt verarbeitet wurden.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()

Initialisiert eine Implementierung der HashAlgorithm-Klasse.Initializes an implementation of the HashAlgorithm class.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.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)

Errechnet den Hashwert für den angegebenen Bereich des Eingabebytearrays und kopiert den angegebenen Bereich des Eingabebytearrays in den angegebenen Bereich des Ausgabebytearrays.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)

Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays.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)

Explizite Schnittstellenimplementierungen

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

Gibt die von HashAlgorithm verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

Gilt für:

Siehe auch