HMAC Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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) |