HMACSHA1 Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash.
public ref class HMACSHA1 : System::Security::Cryptography::HMAC
public ref class HMACSHA1 : System::Security::Cryptography::KeyedHashAlgorithm
public class HMACSHA1 : System.Security.Cryptography.HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
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
type HMACSHA1 = class
inherit HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
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 SHA-1 a používá se jako kód ověřování zpráv založený na HMAC nebo na základě hodnoty hash. Proces HMAC směšuje tajný klíč s daty zprávy, zatřiďuje výsledek pomocí funkce hash, zkombinuje tuto hodnotu hash s tajným klíčem a potom použije funkci hash podruhé. Výstupní hodnota hash je 160 bitů o délce.
HMAC se dá použít k určení, jestli byla zpráva odeslaná 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 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 je nutná ke změně zprávy a reprodukování správné hodnoty hash. Proto pokud se původní a vypočí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 řetězce libovolné délky.
HMACSHA1 přijímá klíče libovolné velikosti a vytváří sekvenci hash, která má délku 160 bitů.
Vzhledem ke kolizím problémů s SHA-1 doporučuje Microsoft SHA-256.
Konstruktory
| Name | Description |
|---|---|
| HMACSHA1() |
Inicializuje novou instanci HMACSHA1 třídy s náhodně vygenerovaným klíčem. |
| 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 SHA-1. |
| HMACSHA1(Byte[]) |
Inicializuje novou instanci HMACSHA1 třídy se zadanými daty klíče. |
Pole
| Name | Description |
|---|---|
| HashSizeInBits |
Velikost hash vytvořená algoritmem HMAC SHA-1 v bitech. |
| HashSizeInBytes |
Velikost hash vytvořená algoritmem HMAC SHA-1 v bajtech. |
| HashSizeValue |
Představuje velikost vypočítaného hashového kódu v bitech. (Zděděno od HashAlgorithm) |
| HashValue |
Představuje hodnotu vypočítaného kódu hash. (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
| Name | Description |
|---|---|
| BlockSizeValue |
Získá nebo nastaví velikost bloku, která se má použít v hodnotě hash. (Zděděno od HMAC) |
| CanReuseTransform |
Získá hodnotu urč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, 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 vypočítaného HMAC v bitech. |
| HashSize |
Získá velikost vypočítaného hash 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íč, který se má použít v hashovacím 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
| Name | Description |
|---|---|
| Clear() |
Uvolní všechny prostředky používané HashAlgorithm třídou. (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(Byte[]) |
Vypočítá hodnotu hash pro zadané 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řepisuje Dispose(Boolean)a v tomto tématu může být k dispozici podrobnější 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čuje, zda je zadaný objekt roven 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 uvolněním paměti. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| HashCore(Byte[], Int32, Int32) |
Směruje data zapsaná do objektu do hashového 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. |
| HashData(Byte[], Byte[]) |
Vypočítá HMAC dat pomocí algoritmu SHA-1. |
| HashData(Byte[], Stream) |
Vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>) |
Vypočítá HMAC dat pomocí algoritmu SHA-1. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Vypočítá HMAC dat pomocí algoritmu SHA-1. |
| HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>) |
Vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| HashData(ReadOnlySpan<Byte>, Stream) |
Vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| HashDataAsync(Byte[], Stream, CancellationToken) |
Asynchronně vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken) |
Asynchronně vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken) |
Asynchronně vypočítá HMAC datového proudu pomocí algoritmu SHA-1. |
| 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 po posledním zpracování dat algoritmem. (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 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 bajtového pole a zkopíruje zadanou oblast vstupního bajtového pole do zadané oblasti výstupního bajtového pole. (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é bajtové pole. (Zděděno od HashAlgorithm) |
| TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Pokusí se vypočítat HMAC dat pomocí algoritmu SHA-1. |
| TryHashFinal(Span<Byte>, Int32) |
Pokusí se dokončit výpočet HMAC po zpracování posledních dat algoritmem HMAC. |
| Verify(Byte[], Byte[], Byte[]) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
| Verify(Byte[], Stream, Byte[]) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
| Verify(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
| Verify(ReadOnlySpan<Byte>, Stream, ReadOnlySpan<Byte>) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
| VerifyAsync(Byte[], Stream, Byte[], CancellationToken) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
| VerifyAsync(ReadOnlyMemory<Byte>, Stream, ReadOnlyMemory<Byte>, CancellationToken) |
Vypočítá ověřovací kód zpráv založený na hodnotě hash (HMAC) pomocí SHA1 funkce hash. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Uvolní nespravované prostředky používané HashAlgorithm a volitelně uvolní spravované prostředky. (Zděděno od HashAlgorithm) |