HashAlgorithm Klass

Definition

Representerar basklassen från vilken alla implementeringar av kryptografiska hash-algoritmer måste härledas.

public ref class HashAlgorithm abstract : IDisposable, System::Security::Cryptography::ICryptoTransform
public ref class HashAlgorithm abstract : IDisposable
public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
public abstract class HashAlgorithm : IDisposable, System.Security.Cryptography.ICryptoTransform
public abstract class HashAlgorithm : IDisposable
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform, IDisposable
Public MustInherit Class HashAlgorithm
Implements IDisposable
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
Arv
HashAlgorithm
Härledda
Attribut
Implementeringar

Exempel

I följande kodexempel beräknas SHA256 hashen för en matris. Det här exemplet förutsätter att det finns en fördefinierad bytematris dataArray[]. SHA256 är en härledd klass av HashAlgorithm.

HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)

Kommentarer

Hash-funktioner är grundläggande för modern kryptografi. Dessa funktioner mappar binära strängar med godtycklig längd till små binära strängar med fast längd, så kallade hash-värden. En kryptografisk hash-funktion har egenskapen att det är beräkningsmässigt omöjligt att hitta två distinkta indata som hash till samma värde. Hash-funktioner används ofta med digitala signaturer och för dataintegritet.

Hashen används som ett unikt värde med fast storlek som representerar en stor mängd data. Hashvärden för två datauppsättningar ska matcha om motsvarande data också matchar. Små ändringar i data resulterar i stora oförutsägbara ändringar i hashen.

På grund av kollisionsproblem med SHA-1 rekommenderar Microsoft en säkerhetsmodell baserad på SHA-256 eller bättre.

Anteckningar till implementerare

När du ärver från HashAlgorithm klassen måste du åsidosätta följande medlemmar: HashCore(Byte[], Int32, Int32) och HashFinal().

Konstruktorer

Name Description
HashAlgorithm()

Initierar en ny instans av HashAlgorithm klassen.

Fält

Name Description
HashSizeValue

Representerar storleken, i bitar, på den beräknade hashkoden.

HashValue

Representerar värdet för den beräknade hashkoden.

State

Representerar tillståndet för hash-beräkningen.

Egenskaper

Name Description
CanReuseTransform

Hämtar ett värde som anger om den aktuella transformeringen kan återanvändas.

CanTransformMultipleBlocks

När det åsidosättas i en härledd klass får du ett värde som anger om flera block kan transformeras.

Hash

Hämtar värdet för den beräknade hashkoden.

HashSize

Hämtar storleken, i bitar, på den beräknade hashkoden.

InputBlockSize

När det åsidosättas i en härledd klass hämtar indatablockstorleken.

OutputBlockSize

När det åsidosättas i en härledd klass hämtar du utdatablockets storlek.

Metoder

Name Description
Clear()

Släpper alla resurser som används av HashAlgorithm klassen.

ComputeHash(Byte[], Int32, Int32)

Beräknar hash-värdet för den angivna regionen för den angivna bytematrisen.

ComputeHash(Byte[])

Beräknar hash-värdet för den angivna bytematrisen.

ComputeHash(Stream)

Beräknar hash-värdet för det angivna Stream objektet.

ComputeHashAsync(Stream, CancellationToken)

Beräknar hash-värdet för det angivna Stream objektet asynkront.

Create()
Föråldrad.
Föråldrad.

Skapar en instans av standardimplementeringen av en hash-algoritm.

Create(String)
Föråldrad.

Skapar en instans av den angivna implementeringen av en hash-algoritm.

Dispose()

Släpper alla resurser som används av den aktuella instansen HashAlgorithm av klassen.

Dispose(Boolean)

Släpper de ohanterade resurser som används av HashAlgorithm och släpper eventuellt de hanterade resurserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
HashCore(Byte[], Int32, Int32)

När de åsidosätts i en härledd klass dirigeras data som skrivits till objektet till hash-algoritmen för att beräkna hashen.

HashCore(ReadOnlySpan<Byte>)

Dirigerar data som skrivs till objektet till hash-algoritmen för att beräkna hashen.

HashFinal()

När den åsidosättas i en härledd klass slutför du hash-beräkningen efter att de senaste data har bearbetats av den kryptografiska hash-algoritmen.

Initialize()

Återställer hash-algoritmen till dess ursprungliga tillstånd.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Beräknar hash-värdet för den angivna regionen för indatabytematrisen och kopierar den angivna regionen för indatabytematrisen till den angivna regionen för utdatabytematrisen.

TransformFinalBlock(Byte[], Int32, Int32)

Beräknar hash-värdet för den angivna regionen för den angivna bytematrisen.

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

Försöker beräkna hash-värdet för den angivna bytematrisen.

TryHashFinal(Span<Byte>, Int32)

Försök att slutföra hash-beräkningen när de senaste data bearbetas av hash-algoritmen.

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

Släpper de ohanterade resurser som används av HashAlgorithm och släpper eventuellt de hanterade resurserna.

Gäller för

Se även