HMACSHA1 Třída

Definice

Vypočítá kód HMAC (Hash- based Message Authentication Code) pomocí SHA1 funkce hash.

public ref class HMACSHA1 : System::Security::Cryptography::HMAC
public ref class HMACSHA1 : System::Security::Cryptography::KeyedHashAlgorithm
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACSHA1 : System.Security.Cryptography.HMAC
public class HMACSHA1 : System.Security.Cryptography.HMAC
public class HMACSHA1 : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACSHA1 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACSHA1 = class
    inherit HMAC
type HMACSHA1 = class
    inherit HMAC
type HMACSHA1 = class
    inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACSHA1 = class
    inherit HMAC
Public Class HMACSHA1
Inherits HMAC
Public Class HMACSHA1
Inherits KeyedHashAlgorithm
Dědičnost
Dědičnost
Atributy

Poznámky

HMACSHA1 je typ algoritmu hash s klíči, který je vytvořen z funkce hash SHA1 a používá se jako kód pro ověřování zpráv založený na hodnotě hash. Proces HMAC kombinuje tajný klíč s daty zpráv, hashuje výsledek pomocí funkce hash, zkombinuje tuto hodnotu hash s tajným klíčem znovu a potom použije funkci hash podruhé. Výstupní hodnota hash má délku 160 bitů.

HMAC lze použít k určení, jestli byla zpráva odeslaná přes nezabezpečený kanál manipulována, pokud odesílatel a příjemce sdílí tajný klíč. Odesílatel vypočítá hodnotu hash pro původní data a odešle původní data i hodnotu hash jako jednu zprávu. Příjemce přepočítá hodnotu hash přijaté zprávy a zkontroluje, že vypočítaný HMAC odpovídá přenášené HMAC.

Jakákoli změna dat nebo hodnoty hash má za následek neshodu, protože znalost tajného klíče se vyžaduje ke změně zprávy a reprodukování správné hodnoty hash. Proto pokud se původní a počítané hodnoty hash shodují, zpráva se ověří.

SHA-1 (Secure Hash Algorithm, označovaný také jako SHS, Secure Hash Standard) je kryptografický hashovací algoritmus publikovaný USA Government. Vytvoří 160bitovou hodnotu hash z libovolného řetězce délky.

HMACSHA1 přijímá klíče libovolné velikosti a vytváří sekvenci hash, která je delší než 160 bitů.

Kvůli problémům se kolizemi s SHA1 doporučuje Microsoft SHA256.

Konstruktory

HMACSHA1()

Inicializuje novou instanci HMACSHA1 třídy náhodně vygenerovaným klíčem.

HMACSHA1(Byte[])

Inicializuje novou instanci HMACSHA1 třídy se zadanými klíčovými daty.

HMACSHA1(Byte[], Boolean)
Zastaralé.

Inicializuje novou instanci HMACSHA1 třídy se zadanými daty klíče a hodnotou, která určuje, jestli se má použít spravovaná verze algoritmu SHA1.

Pole

HashSizeInBits

Velikost hash vytvořená algoritmem HMAC SHA1 v bitech.

HashSizeInBytes

Velikost hash vytvořená algoritmem HMAC SHA1 v bajtech.

HashSizeValue

Představuje velikost vypočítaného kódu hash v bitech.

(Zděděno od HashAlgorithm)
HashValue

Představuje hodnotu vypočítaného hash kódu.

(Zděděno od HashAlgorithm)
KeyValue

Klíč, který se má použít v algoritmu hash.

(Zděděno od KeyedHashAlgorithm)
State

Představuje stav výpočtu hodnoty hash.

(Zděděno od HashAlgorithm)

Vlastnosti

BlockSizeValue

Získá nebo nastaví velikost bloku pro použití v hodnotě hash.

(Zděděno od HMAC)
CanReuseTransform

Získá hodnotu, která určuje, zda lze znovu použít aktuální transformaci.

(Zděděno od HashAlgorithm)
CanTransformMultipleBlocks

Při přepsání v odvozené třídě získá hodnotu určující, zda lze transformovat více bloků.

(Zděděno od HashAlgorithm)
Hash

Získá hodnotu vypočítaného hash kódu.

(Zděděno od HashAlgorithm)
HashName

Získá nebo nastaví název hash algoritmu, který se má použít pro hashování.

HashName

Získá nebo nastaví název hash algoritmu, který se má použít pro hashování.

(Zděděno od HMAC)
HashSize

Získá velikost počítaného HMAC v bitech.

HashSize

Získá velikost vypočítaného kódu hash v bitech.

(Zděděno od HashAlgorithm)
InputBlockSize

Při přepsání v odvozené třídě získá velikost vstupního bloku.

(Zděděno od HashAlgorithm)
Key

Získá nebo nastaví klíč, který se má použít v algoritmu hash.

Key

Získá nebo nastaví klíč pro použití ve výpočtu HMAC.

(Zděděno od HMAC)
OutputBlockSize

Při přepsání v odvozené třídě získá velikost výstupního bloku.

(Zděděno od HashAlgorithm)

Metody

Clear()

Uvolní všechny prostředky používané HashAlgorithm třídou .

(Zděděno od HashAlgorithm)
ComputeHash(Byte[])

Vypočítá hodnotu hash pro zadané pole bajtů.

(Zděděno od HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Vypočítá hodnotu hash pro zadanou oblast zadaného pole bajtů.

(Zděděno od HashAlgorithm)
ComputeHash(Stream)

Vypočítá hodnotu hash pro zadaný Stream objekt.

(Zděděno od HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

Asynchronně vypočítá hodnotu hash pro zadaný Stream objekt.

(Zděděno od HashAlgorithm)
Dispose()

Uvolní všechny prostředky používané aktuální instancí HashAlgorithm třídy .

(Zděděno od HashAlgorithm)
Dispose(Boolean)

Tento člen přepíše Dispose(Boolean)a v tomto tématu může být k dispozici kompletní dokumentace.

Uvolní nespravované prostředky používané KeyedHashAlgorithm a volitelně uvolní spravované prostředky.

Dispose(Boolean)

Uvolní nespravované prostředky používané HMAC třídou, pokud je změna klíče legitimní a volitelně uvolní spravované prostředky.

(Zděděno od HMAC)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Umožňuje objektu zkusit uvolnit prostředky a provést další operace čištění, než se uvolní uvolňováním paměti.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
HashCore(Byte[], Int32, Int32)

Směruje data zapsaná do objektu do algoritmu hash SHA1 pro výpočet kódu HMAC (Hash-based Message Authentication Code).

HashCore(Byte[], Int32, Int32)

Při přepsání v odvozené třídě směruje data zapsaná do objektu do algoritmu HMAC pro výpočet hodnoty HMAC.

(Zděděno od HMAC)
HashCore(ReadOnlySpan<Byte>)

Směruje data zapsaná do objektu do algoritmu HMAC pro výpočet HMAC.

HashCore(ReadOnlySpan<Byte>)

Směruje data zapsaná do objektu do algoritmu HMAC pro výpočet HMAC.

(Zděděno od HMAC)
HashCore(ReadOnlySpan<Byte>)

Směruje data zapisaná do objektu do hashovací algoritmu pro výpočet hodnoty hash.

(Zděděno od HashAlgorithm)
HashData(Byte[], Byte[])

Vypočítá HMAC dat pomocí algoritmu SHA1.

HashData(Byte[], Stream)

Vypočítá HMAC datového proudu pomocí algoritmu SHA1.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

Vypočítá HMAC dat pomocí algoritmu SHA1.

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Vypočítá HMAC dat pomocí algoritmu SHA1.

HashData(ReadOnlySpan<Byte>, Stream)

Vypočítá HMAC datového proudu pomocí algoritmu SHA1.

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

Vypočítá HMAC datového proudu pomocí algoritmu SHA1.

HashDataAsync(Byte[], Stream, CancellationToken)

Asynchronně vypočítá HMAC streamu pomocí algoritmu SHA1.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

Asynchronně vypočítá HMAC streamu pomocí algoritmu SHA1.

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

Asynchronně vypočítá HMAC streamu pomocí algoritmu SHA1.

HashFinal()

Dokončí výpočet HMAC po zpracování posledních dat algoritmem.

HashFinal()

Při přepsání v odvozené třídě finalizuje výpočet HMAC po zpracování posledních dat algoritmem.

(Zděděno od HMAC)
Initialize()

Resetuje algoritmus hash do počátečního stavu.

Initialize()

Inicializuje instanci výchozí implementace HMAC.

(Zděděno od HMAC)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Vypočítá hodnotu hash pro zadanou oblast vstupního pole bajtů a zkopíruje zadanou oblast vstupního pole bajtů do zadané oblasti výstupního pole bajtů.

(Zděděno od HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Vypočítá hodnotu hash pro zadanou oblast zadaného pole bajtů.

(Zděděno od HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Pokusí se vypočítat hodnotu hash pro zadané pole bajtů.

(Zděděno od HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

Pokusí se vypočítat HMAC dat pomocí algoritmu SHA1.

TryHashFinal(Span<Byte>, Int32)

Pokusí se dokončit výpočet HMAC po zpracování posledních dat algoritmem HMAC.

TryHashFinal(Span<Byte>, Int32)

Pokusí se dokončit výpočet HMAC po zpracování posledních dat algoritmem HMAC.

(Zděděno od HMAC)
TryHashFinal(Span<Byte>, Int32)

Pokusí se dokončit výpočet hodnoty hash po zpracování posledních dat hashovacím algoritmem.

(Zděděno od HashAlgorithm)

Explicitní implementace rozhraní

IDisposable.Dispose()

Uvolní nespravované prostředky používané objektem a HashAlgorithm volitelně uvolní spravované prostředky.

(Zděděno od HashAlgorithm)

Platí pro

Viz také