Sdílet prostřednictvím


HMACSHA1 Třída

Definice

Vypočítá kód HMAC (Message Authentication Code) založený na hodnotě SHA1 hash pomocí 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 klíčového hash algoritmu, který je sestaven z hashovací funkce SHA1 a používá se jako HMAC nebo kód ověřování zpráv založený na hodnotě hash. Proces HMAC promíchá tajný klíč s daty zprávy, výsledek hashuje pomocí hashovací funkce, tuto hodnotu hash znovu promíchá s tajným klíčem a pak použije hashovací funkci podruhé. Výstupní hodnota hash má délku 160 bitů.

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

Jakákoli změna dat nebo hodnoty hash způsobí neshodu, protože ke změně zprávy a reprodukování správné hodnoty hash se vyžaduje znalost tajného klíče. Pokud se tedy původní a vypočítaná hodnota hash shodují, zpráva se ověří.

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

HMACSHA1 přijímá klíče libovolné velikosti a vytváří sekvenci hodnot hash o délce 160 bitů.

Kvůli problémům s kolizí s SHA1 microsoft doporučuje SHA256.

Konstruktory

HMACSHA1()

Inicializuje novou instanci HMACSHA1 třídy pomocí náhodně vygenerovaného klíče.

HMACSHA1(Byte[])

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

HMACSHA1(Byte[], Boolean)
Zastaralé.

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

Pole

HashSizeInBits

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

HashSizeInBytes

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

HashSizeValue

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

(Zděděno od HashAlgorithm)
HashValue

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

(Zděděno od HashAlgorithm)
KeyValue

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

(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, která se má použít v hodnotě hash.

(Zděděno od HMAC)
CanReuseTransform

Získá hodnotu označující, zda aktuální transformace lze znovu použít.

(Zděděno od HashAlgorithm)
CanTransformMultipleBlocks

Při přepsání v odvozené třídě získá hodnotu označ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 použít pro hashování.

HashName

Získá nebo nastaví název hash algoritmu použít pro hashování.

(Zděděno od HMAC)
HashSize

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

HashSize

Získá velikost počítaného hashového kódu 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íč pro použití v hash algoritmu.

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 úplnější dokumentace.

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

Dispose(Boolean)

Uvolní nespravované prostředky používané třídou, HMAC 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 pokusit se uvolnit prostředky a provést další operace čištění před jeho uvolněním uvolňováním.

GetHashCode()

Slouží jako výchozí hashovací funkce.

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

Získá aktuální Type instanci.

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

Směruje data zapsaná do objektu do hash algoritmu 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 zapsaná do objektu do hash 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 streamu 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 streamu pomocí algoritmu SHA1.

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

Vypočítá HMAC streamu 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ě dokončí výpočet HMAC poté, co algoritmus zpracuje poslední data.

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

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

Initialize()

Inicializuje instanci výchozí implementace .HMAC

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

Vytvoří mělkou kopii aktuálního Objectsouboru .

(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 poté, co algoritmus HMAC zpracuje poslední data.

TryHashFinal(Span<Byte>, Int32)

Pokusí se dokončit výpočet HMAC poté, co algoritmus HMAC zpracuje poslední data.

(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é HashAlgorithm nástrojem a volitelně uvolní spravované prostředky.

(Zděděno od HashAlgorithm)

Platí pro

Viz také