HMAC Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje klasę abstrakcyjną, z której muszą pochodzić wszystkie implementacje kodu uwierzytelniania komunikatów opartego na skrótach (HMAC).
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
- Dziedziczenie
- Pochodne
- Atrybuty
Uwagi
Kod uwierzytelniania komunikatów oparty na skrótach (HMAC) może służyć do określenia, czy komunikat wysłany za pośrednictwem niezabezpieczonego kanału został naruszony, pod warunkiem, że nadawca i odbiorca współużytkują klucz tajny. Nadawca oblicza wartość skrótu dla oryginalnych danych i wysyła zarówno oryginalne dane, jak i HMAC jako pojedynczy komunikat. Odbiorca ponownie oblicza wartość skrótu dla odebranego komunikatu i sprawdza, czy obliczona wartość skrótu jest zgodna z wartością przesyłanego skrótu.
HMAC może być używany z dowolną iteracyjną funkcją skrótu kryptograficznego, taką jak MD5 lub SHA-1, w połączeniu z kluczem udostępnionym wpisu tajnego. Siła kryptograficzna HMAC zależy od właściwości podstawowej funkcji skrótu.
Każda zmiana danych lub wartości skrótu powoduje niezgodność, ponieważ znajomość klucza tajnego jest wymagana do zmiany komunikatu i odtworzenia poprawnej wartości skrótu. W związku z tym, jeśli oryginalne i obliczone wartości skrótu są zgodne, komunikat jest uwierzytelniany.
Ze względu na problemy z kolizją z md5 i SHA-1 firma Microsoft zaleca model zabezpieczeń oparty na algorytmie SHA-256 lub lepszym.
Konstruktory
HMAC() |
Inicjuje nowe wystąpienie klasy HMAC. |
Pola
HashSizeValue |
Reprezentuje rozmiar w bitach obliczonego kodu skrótu. (Odziedziczone po HashAlgorithm) |
HashValue |
Reprezentuje wartość obliczonego kodu skrótu. (Odziedziczone po HashAlgorithm) |
KeyValue |
Klucz do użycia w algorytmie skrótu. (Odziedziczone po KeyedHashAlgorithm) |
State |
Reprezentuje stan obliczeń skrótu. (Odziedziczone po HashAlgorithm) |
Właściwości
BlockSizeValue |
Pobiera lub ustawia rozmiar bloku do użycia w wartości skrótu. |
CanReuseTransform |
Pobiera wartość wskazującą, czy można ponownie użyć bieżącej transformacji. (Odziedziczone po HashAlgorithm) |
CanTransformMultipleBlocks |
Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy można przekształcić wiele bloków. (Odziedziczone po HashAlgorithm) |
Hash |
Pobiera wartość obliczonego kodu skrótu. (Odziedziczone po HashAlgorithm) |
HashName |
Pobiera lub ustawia nazwę algorytmu wyznaczania wartości skrótu do użycia na potrzeby tworzenia skrótów. |
HashSize |
Pobiera rozmiar w bitach obliczonego kodu skrótu. (Odziedziczone po HashAlgorithm) |
InputBlockSize |
Po przesłonięciu w klasie pochodnej pobiera rozmiar bloku wejściowego. (Odziedziczone po HashAlgorithm) |
Key |
Pobiera lub ustawia klucz do użycia w obliczeniach HMAC. |
OutputBlockSize |
Po zastąpieniu w klasie pochodnej pobiera rozmiar bloku wyjściowego. (Odziedziczone po HashAlgorithm) |
Metody
Clear() |
Zwalnia wszystkie zasoby używane przez klasę HashAlgorithm . (Odziedziczone po HashAlgorithm) |
ComputeHash(Byte[]) |
Oblicza wartość skrótu dla określonej tablicy bajtów. (Odziedziczone po HashAlgorithm) |
ComputeHash(Byte[], Int32, Int32) |
Oblicza wartość skrótu dla określonego regionu określonej tablicy bajtów. (Odziedziczone po HashAlgorithm) |
ComputeHash(Stream) |
Oblicza wartość skrótu dla określonego Stream obiektu. (Odziedziczone po HashAlgorithm) |
ComputeHashAsync(Stream, CancellationToken) |
Asynchronicznie oblicza wartość skrótu dla określonego Stream obiektu. (Odziedziczone po HashAlgorithm) |
Create() |
Przestarzałe.
Przestarzałe.
Tworzy wystąpienie domyślnej implementacji opartego na skrótach kodu uwierzytelniania komunikatów (HMAC). |
Create(String) |
Przestarzałe.
Tworzy wystąpienie określonej implementacji opartego na skrótach kodu uwierzytelniania komunikatów (HMAC). |
Dispose() |
Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy HashAlgorithm. (Odziedziczone po HashAlgorithm) |
Dispose(Boolean) |
Zwalnia niezarządzane zasoby używane przez klasę HMAC , gdy zmiana klucza jest uzasadniona i opcjonalnie zwalnia zarządzane zasoby. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
HashCore(Byte[], Int32, Int32) |
Po przesłonięciu w klasie pochodnej dane są przesyłane do obiektu do algorytmu HMAC do obliczania wartości HMAC. |
HashCore(ReadOnlySpan<Byte>) |
Kieruje dane zapisywane do obiektu w algorytmie HMAC do obliczania HMAC. |
HashCore(ReadOnlySpan<Byte>) |
Kieruje dane zapisywane do obiektu w algorytmie skrótu na potrzeby obliczania skrótu. (Odziedziczone po HashAlgorithm) |
HashFinal() |
Po zastąpieniu w klasie pochodnej finalizuje obliczenia HMAC po przetworzeniu ostatnich danych przez algorytm. |
Initialize() |
Inicjuje wystąpienie domyślnej implementacji elementu HMAC. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Oblicza wartość skrótu dla określonego regionu tablicy bajtów wejściowych i kopiuje określony region tablicy bajtów wejściowych do określonego regionu tablicy bajtów wyjściowych. (Odziedziczone po HashAlgorithm) |
TransformFinalBlock(Byte[], Int32, Int32) |
Oblicza wartość skrótu dla określonego regionu określonej tablicy bajtów. (Odziedziczone po HashAlgorithm) |
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Próbuje obliczyć wartość skrótu dla określonej tablicy bajtów. (Odziedziczone po HashAlgorithm) |
TryHashFinal(Span<Byte>, Int32) |
Próbuje sfinalizować obliczenia HMAC po przetworzeniu ostatnich danych przez algorytm HMAC. |
TryHashFinal(Span<Byte>, Int32) |
Próbuje sfinalizować obliczanie skrótu po przetworzeniu ostatnich danych przez algorytm skrótu. (Odziedziczone po HashAlgorithm) |
Jawne implementacje interfejsu
IDisposable.Dispose() |
Zwalnia zasoby niezarządzane używane przez element HashAlgorithm i opcjonalnie zwalnia zasoby zarządzane. (Odziedziczone po HashAlgorithm) |