HMACSHA1 Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente di calcolare un codice HMAC (Hash-based Message Authentication Code) utilizzando la funzione hash SHA1.
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
- Ereditarietà
- Ereditarietà
- Attributi
Commenti
HMACSHA1 è un tipo di algoritmo hash con chiave costruito dalla funzione hash SHA1 e usato come codice di autenticazione del messaggio basato su hash o HMAC. Il processo HMAC combina una chiave privata con i dati del messaggio, esegue l'hashing del risultato con la funzione hash, combina nuovamente tale valore hash con la chiave privata e quindi applica la funzione hash una seconda volta. L'hash di output è di 160 bit di lunghezza.
Un HMAC può essere usato per determinare se un messaggio inviato su un canale non sicuro è stato manomesso, a condizione che il mittente e il destinatario condividono una chiave privata. Il mittente calcola il valore hash per i dati originali e invia i dati originali e il valore hash come singolo messaggio. Il ricevitore ricalcola il valore hash nel messaggio ricevuto e verifica che l'HMAC calcolato corrisponda all'HMAC trasmesso.
Qualsiasi modifica apportata ai dati o al valore hash comporta una mancata corrispondenza, perché è necessario conoscere la chiave privata per modificare il messaggio e riprodurre il valore hash corretto. Pertanto, se i valori hash originali e calcolati corrispondono, il messaggio viene autenticato.
SHA-1 (Secure Hash Algorithm, detto anche SHS, Secure Hash Standard) è un algoritmo hash crittografico pubblicato dal governo degli Stati Uniti. Produce un valore hash a 160 bit da una stringa di lunghezza arbitraria.
HMACSHA1 accetta chiavi di qualsiasi dimensione e produce una sequenza hash di lunghezza pari a 160 bit.
A causa di problemi di conflitto con SHA1, Microsoft consiglia SHA256.
Costruttori
HMACSHA1() |
Inizializza una nuova istanza della classe HMACSHA1 con una chiave generata in modo casuale. |
HMACSHA1(Byte[]) |
Inizializza una nuova istanza della classe HMACSHA1 con i dati della chiave specificata. |
HMACSHA1(Byte[], Boolean) |
Obsoleti.
Inizializza una nuova istanza della classe HMACSHA1 con i dati della chiave specificata e un valore che indica se utilizzare la versione gestita dell'algoritmo SHA1. |
Campi
HashSizeInBits |
Dimensioni hash prodotte dall'algoritmo HMAC SHA1, in bit. |
HashSizeInBytes |
Dimensioni hash prodotte dall'algoritmo HMAC SHA1, in byte. |
HashSizeValue |
Rappresenta la dimensione in bit del codice hash calcolato. (Ereditato da HashAlgorithm) |
HashValue |
Rappresenta il valore del codice hash calcolato. (Ereditato da HashAlgorithm) |
KeyValue |
Chiave da usare nell'algoritmo hash. (Ereditato da KeyedHashAlgorithm) |
State |
Rappresenta lo stato del calcolo hash. (Ereditato da HashAlgorithm) |
Proprietà
BlockSizeValue |
Ottiene o imposta la dimensione del blocco da utilizzare nel valore hash. (Ereditato da HMAC) |
CanReuseTransform |
Ottiene un valore che indica se è possibile riutilizzare la trasformazione corrente. (Ereditato da HashAlgorithm) |
CanTransformMultipleBlocks |
Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se è possibile trasformare più blocchi. (Ereditato da HashAlgorithm) |
Hash |
Ottiene il valore del codice hash calcolato. (Ereditato da HashAlgorithm) |
HashName |
Ottiene o imposta il nome dell'algoritmo hash da usare per la generazione di un hash. |
HashName |
Ottiene o imposta il nome dell'algoritmo hash da usare per la generazione di un hash. (Ereditato da HMAC) |
HashSize |
Ottiene la dimensione in bit del valore HMAC calcolato. |
HashSize |
Ottiene la dimensione in bit del codice hash calcolato. (Ereditato da HashAlgorithm) |
InputBlockSize |
Quando ne viene eseguito l'override in una classe derivata, ottiene la dimensione del blocco di input. (Ereditato da HashAlgorithm) |
Key |
Ottiene o imposta la chiave da usare nell'algoritmo hash. |
Key |
Ottiene o imposta la chiave da usare nel calcolo del valore HMAC. (Ereditato da HMAC) |
OutputBlockSize |
Quando ne viene eseguito l'override in una classe derivata, ottiene la dimensione del blocco di output. (Ereditato da HashAlgorithm) |
Metodi
Clear() |
Rilascia tutte le risorse usate dalla classe HashAlgorithm. (Ereditato da HashAlgorithm) |
ComputeHash(Byte[]) |
Consente di calcolare il valore hash della matrice di byte specificata. (Ereditato da HashAlgorithm) |
ComputeHash(Byte[], Int32, Int32) |
Calcola il valore hash dell'area specifica della matrice di byte specificata. (Ereditato da HashAlgorithm) |
ComputeHash(Stream) |
Calcola il valore hash per l'oggetto Stream specificato. (Ereditato da HashAlgorithm) |
ComputeHashAsync(Stream, CancellationToken) |
Calcola in modo asincrono il valore hash per l'oggetto Stream specificato. (Ereditato da HashAlgorithm) |
Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della classe HashAlgorithm. (Ereditato da HashAlgorithm) |
Dispose(Boolean) |
Questo membro esegue l'override di Dispose(Boolean). L'argomento corrispondente può contenere documentazione più completa. Rilascia le risorse non gestite usate da KeyedHashAlgorithm e, facoltativamente, le risorse gestite. |
Dispose(Boolean) |
Libera le risorse non gestite usate dalla classe HMAC quando è lecito lo scambio delle chiavi ed eventualmente libera le risorse gestite. (Ereditato da HMAC) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Consente a un oggetto di effettuare un tentativo di liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperato da Garbage Collection. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HashCore(Byte[], Int32, Int32) |
Indirizza i dati scritti nell'oggetto verso l'algoritmo di crittografia SHA1 per il calcolo del codice HMAC (Hash-based Message Authentication Code). |
HashCore(Byte[], Int32, Int32) |
Quando ne viene eseguito l'override in una classe derivata, indirizza i dati scritti nell'oggetto verso l'algoritmo HMAC per il calcolo del valore HMAC. (Ereditato da HMAC) |
HashCore(ReadOnlySpan<Byte>) |
Consente di indirizzare i dati scritti nell'oggetto nell'HMAC per il calcolo del valore HMAC. |
HashCore(ReadOnlySpan<Byte>) |
Consente di indirizzare i dati scritti nell'oggetto nell'HMAC per il calcolo del valore HMAC. (Ereditato da HMAC) |
HashCore(ReadOnlySpan<Byte>) |
Consente di indirizzare i dati scritti nell'oggetto nell'algoritmo hash per il calcolo dell'hash. (Ereditato da HashAlgorithm) |
HashData(Byte[], Byte[]) |
Calcola l'HMAC dei dati usando l'algoritmo SHA1. |
HashData(Byte[], Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA1. |
HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo SHA1. |
HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo SHA1. |
HashData(ReadOnlySpan<Byte>, Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA1. |
HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA1. |
HashDataAsync(Byte[], Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA1. |
HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA1. |
HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA1. |
HashFinal() |
Finalizza il calcolo del valore HMAC dopo l'elaborazione degli ultimi dati da parte dell'algoritmo. |
HashFinal() |
Quando ne viene eseguito l'override in una classe derivata, finalizza il calcolo del valore HMAC una volta che gli ultimi dati sono stati elaborati dall'algoritmo. (Ereditato da HMAC) |
Initialize() |
Reimposta lo stato iniziale dell'algoritmo hash. |
Initialize() |
Inizializza un'istanza dell'implementazione predefinita di HMAC. (Ereditato da HMAC) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Consente di calcolare il valore hash dell'area specifica della matrice di byte di input e di copiare una determinata area della matrice di byte di input nell'area specifica della matrice di byte di output. (Ereditato da HashAlgorithm) |
TransformFinalBlock(Byte[], Int32, Int32) |
Calcola il valore hash dell'area specifica della matrice di byte specificata. (Ereditato da HashAlgorithm) |
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tenta di calcolare il valore hash per la matrice di byte specificata. (Ereditato da HashAlgorithm) |
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Tenta di calcolare l'HMAC dei dati usando l'algoritmo SHA1. |
TryHashFinal(Span<Byte>, Int32) |
Tenta di finalizzare il calcolo del valore HMAC dopo l'elaborazione degli ultimi dati da parte dell'algoritmo HMAC. |
TryHashFinal(Span<Byte>, Int32) |
Tenta di finalizzare il calcolo del valore HMAC dopo l'elaborazione degli ultimi dati da parte dell'algoritmo HMAC. (Ereditato da HMAC) |
TryHashFinal(Span<Byte>, Int32) |
Tenta di finalizzare il calcolo hash dopo l'elaborazione degli ultimi dati da parte dell'algoritmo hash. (Ereditato da HashAlgorithm) |
Implementazioni dell'interfaccia esplicita
IDisposable.Dispose() |
Rilascia le risorse non gestite usate da HashAlgorithm e, facoltativamente, le risorse gestite. (Ereditato da HashAlgorithm) |