HMAC Klasa

Definicja

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 przez niezabezpieczony kanał 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 skompiluje wartość skrótu dla odebranego komunikatu i sprawdza, czy obliczona wartość skrótu jest zgodna z przesłaną wartością 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 tajnym kluczem udostępnionym. Siła kryptograficzna HMAC zależy od właściwości podstawowej funkcji skrótu.

Każda zmiana danych lub wartość skrótu powoduje niezgodność, ponieważ wymagana jest znajomość klucza tajnego w celu 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 zostanie uwierzytelniony.

Ze względu na problemy z kolizjami z rozwiązaniem 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żącego przekształcenia.

(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 wyznaczania wartości skrótu.

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 przesłonięciu 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 kodu uwierzytelniania komunikatów opartego na skrótach (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 bieżące wystąpienie.

(Odziedziczone po Object)
HashCore(Byte[], Int32, Int32)

Po przesłonięciu w klasie pochodnej dane są zapisywane w obiekcie w algorytmie HMAC do obliczania wartości HMAC.

HashCore(ReadOnlySpan<Byte>)

Kieruje dane zapisywane do obiektu w algorytmie HMAC do przetwarzania HMAC.

HashCore(ReadOnlySpan<Byte>)

Kieruje dane zapisywane do obiektu w algorytmie skrótu na potrzeby obliczania skrótu.

(Odziedziczone po HashAlgorithm)
HashFinal()

Gdy zastąpisz klasę pochodną, finalizuje obliczenia HMAC po przetworzeniu ostatnich danych przez algorytm.

Initialize()

Inicjuje wystąpienie domyślnej implementacji .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ć obliczenia 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)

Dotyczy

Zobacz też