HMAC Klass

Definition

Representerar den abstrakta klass från vilken alla implementeringar av Hash-baserad kod för meddelandeautentisering (HMAC) måste härledas.

public ref class HMAC abstract : System::Security::Cryptography::KeyedHashAlgorithm
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
type HMAC = class
    inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMAC = class
    inherit KeyedHashAlgorithm
Public MustInherit Class HMAC
Inherits KeyedHashAlgorithm
Arv
Härledda
Attribut

Kommentarer

En Hash-baserad kod för meddelandeautentisering (HMAC) kan användas för att avgöra om ett meddelande som skickas via en osäker kanal har manipulerats, förutsatt att avsändaren och mottagaren delar en hemlig nyckel. Avsändaren beräknar hash-värdet för de ursprungliga data och skickar både ursprungliga data och HMAC som ett enda meddelande. Mottagaren beräknar hash-värdet på det mottagna meddelandet igen och kontrollerar att det beräknade hashvärdet matchar det överförda hashvärdet.

HMAC kan användas med valfri iterativ kryptografisk hashfunktion, till exempel MD5 eller SHA-1, i kombination med en hemlig delad nyckel. HMAC:s kryptografiska styrka beror på egenskaperna för den underliggande hash-funktionen.

Alla ändringar av data eller hash-värdet resulterar i ett matchningsfel, eftersom kunskap om den hemliga nyckeln krävs för att ändra meddelandet och återskapa rätt hash-värde. Om de ursprungliga och beräknade hashvärdena matchar autentiseras meddelandet.

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

Konstruktorer

Name Description
HMAC()

Initierar en ny instans av HMAC klassen.

Fält

Name Description
HashSizeValue

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

(Ärvd från HashAlgorithm)
HashValue

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

(Ärvd från HashAlgorithm)
KeyValue

Nyckeln som ska användas i hash-algoritmen.

(Ärvd från KeyedHashAlgorithm)
State

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

(Ärvd från HashAlgorithm)

Egenskaper

Name Description
BlockSizeValue

Hämtar eller anger blockstorleken som ska användas i hash-värdet.

CanReuseTransform

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

(Ärvd från HashAlgorithm)
CanTransformMultipleBlocks

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

(Ärvd från HashAlgorithm)
Hash

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

(Ärvd från HashAlgorithm)
HashName

Hämtar eller anger namnet på hash-algoritmen som ska användas för hashning.

HashSize

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

(Ärvd från HashAlgorithm)
InputBlockSize

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

(Ärvd från HashAlgorithm)
Key

Hämtar eller anger den nyckel som ska användas i HMAC-beräkningen.

OutputBlockSize

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

(Ärvd från HashAlgorithm)

Metoder

Name Description
Clear()

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

(Ärvd från HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

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

(Ärvd från HashAlgorithm)
ComputeHash(Byte[])

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

(Ärvd från HashAlgorithm)
ComputeHash(Stream)

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

(Ärvd från HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

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

(Ärvd från HashAlgorithm)
Create()
Föråldrad.
Föråldrad.

Skapar en instans av standardimplementeringen av en Hash-baserad kod för meddelandeautentisering (HMAC).

Create(String)
Föråldrad.

Skapar en instans av den angivna implementeringen av en Hash-baserad kod för meddelandeautentisering (HMAC).

Dispose()

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

(Ärvd från HashAlgorithm)
Dispose(Boolean)

Släpper de ohanterade resurser som används av HMAC klassen när en nyckeländring är legitim och eventuellt släpper 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 HMAC-algoritmen för beräkning av HMAC-värdet.

HashCore(ReadOnlySpan<Byte>)

Dirigerar data som skrivits till objektet till HMAC-algoritmen för beräkning av HMAC.

HashFinal()

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

Initialize()

Initierar en instans av standardimplementeringen av HMAC.

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.

(Ärvd från HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

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

(Ärvd från HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

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

(Ärvd från HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)

Försök att slutföra HMAC-beräkningen när de senaste data bearbetas av HMAC-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.

(Ärvd från HashAlgorithm)

Gäller för

Se även