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.
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione 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
- Ereditarietà
- Ereditarietà
- Attributi
Commenti
HMACSHA1 è un tipo di algoritmo hash con chiave costruito dalla funzione hash SHA-1 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 il valore hash con la chiave privata e quindi applica la funzione hash una seconda volta. L'hash di output è di lunghezza pari a 160 bit.
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 ricevitore condividono una chiave privata. Il mittente calcola il valore hash per i dati originali e invia sia i dati originali che 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 genera una mancata corrispondenza, perché è necessaria una conoscenza della 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 Stati Uniti government. 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 collisione con SHA-1, Microsoft consiglia SHA-256.
Costruttori
| Nome | Descrizione |
|---|---|
| HMACSHA1() |
Inizializza una nuova istanza della HMACSHA1 classe con una chiave generata in modo casuale. |
| HMACSHA1(Byte[], Boolean) |
Obsoleti.
Inizializza una nuova istanza della HMACSHA1 classe con i dati della chiave specificati e un valore che specifica se utilizzare la versione gestita dell'algoritmo SHA-1. |
| HMACSHA1(Byte[]) |
Inizializza una nuova istanza della HMACSHA1 classe con i dati della chiave specificati. |
Campi
| Nome | Descrizione |
|---|---|
| HashSizeInBits |
Dimensioni hash prodotte dall'algoritmo HMAC SHA-1, in bit. |
| HashSizeInBytes |
Dimensioni hash prodotte dall'algoritmo HMAC SHA-1, in byte. |
| HashSizeValue |
Rappresenta le dimensioni, 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à
| Nome | Descrizione |
|---|---|
| BlockSizeValue |
Ottiene o imposta le dimensioni del blocco da utilizzare nel valore hash. (Ereditato da HMAC) |
| CanReuseTransform |
Ottiene un valore che indica se la trasformazione corrente può essere riutilizzata. (Ereditato da HashAlgorithm) |
| CanTransformMultipleBlocks |
In caso di 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 utilizzare per l'hashing. |
| HashName |
Ottiene o imposta il nome dell'algoritmo hash da utilizzare per l'hashing. (Ereditato da HMAC) |
| HashSize |
Ottiene le dimensioni, in bit, dell'HMAC calcolato. |
| HashSize |
Ottiene le dimensioni, in bit, del codice hash calcolato. (Ereditato da HashAlgorithm) |
| InputBlockSize |
In caso di override in una classe derivata, ottiene le dimensioni del blocco di input. (Ereditato da HashAlgorithm) |
| Key |
Ottiene o imposta la chiave da utilizzare nell'algoritmo hash. |
| Key |
Ottiene o imposta la chiave da utilizzare nel calcolo HMAC. (Ereditato da HMAC) |
| OutputBlockSize |
Quando sottoposto a override in una classe derivata, ottiene le dimensioni del blocco di output. (Ereditato da HashAlgorithm) |
Metodi
| Nome | Descrizione |
|---|---|
| Clear() |
Rilascia tutte le risorse usate dalla HashAlgorithm classe . (Ereditato da HashAlgorithm) |
| ComputeHash(Byte[], Int32, Int32) |
Calcola il valore hash per l'area specificata della matrice di byte specificata. (Ereditato da HashAlgorithm) |
| ComputeHash(Byte[]) |
Calcola il valore hash per la matrice di byte specificata. (Ereditato da HashAlgorithm) |
| ComputeHash(Stream) |
Calcola il valore hash per l'oggetto specificato Stream . (Ereditato da HashAlgorithm) |
| ComputeHashAsync(Stream, CancellationToken) |
Calcola in modo asincrono il valore hash per l'oggetto specificato Stream . (Ereditato da HashAlgorithm) |
| Dispose() |
Rilascia tutte le risorse usate dall'istanza corrente della HashAlgorithm classe . (Ereditato da HashAlgorithm) |
| Dispose(Boolean) |
Questo membro esegue l'override Dispose(Boolean)di e una documentazione più completa potrebbe essere disponibile in tale argomento. Rilascia le risorse non gestite usate da KeyedHashAlgorithm e, facoltativamente, rilascia le risorse gestite. |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate dalla HMAC classe quando una modifica della chiave è legittima e facoltativamente rilascia 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 provare a liberare risorse ed eseguire altre operazioni di pulizia prima che venga recuperata da Garbage Collection. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| HashCore(Byte[], Int32, Int32) |
Indirizza i dati scritti nell'oggetto nell'algoritmo hash SHA1 per il calcolo del codice HMAC (Hash-based Message Authentication Code). |
| HashCore(Byte[], Int32, Int32) |
In caso di override in una classe derivata, instrada i dati scritti nell'oggetto nell'algoritmo HMAC per calcolare il valore HMAC. (Ereditato da HMAC) |
| HashCore(ReadOnlySpan<Byte>) |
Indirizza i dati scritti nell'oggetto nell'algoritmo HMAC per il calcolo di HMAC. |
| HashData(Byte[], Byte[]) |
Calcola l'HMAC dei dati usando l'algoritmo SHA-1. |
| HashData(Byte[], Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo SHA-1. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo SHA-1. |
| HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashData(ReadOnlySpan<Byte>, Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashDataAsync(Byte[], Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo SHA-1. |
| HashFinal() |
Finalizza il calcolo HMAC dopo l'elaborazione degli ultimi dati dall'algoritmo. |
| HashFinal() |
Quando sottoposto a override in una classe derivata, finalizza il calcolo HMAC dopo l'elaborazione degli ultimi dati 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 del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
| TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Calcola il valore hash per l'area specificata della matrice di byte di input e copia l'area specificata della matrice di byte di input nell'area specificata della matrice di byte di output. (Ereditato da HashAlgorithm) |
| TransformFinalBlock(Byte[], Int32, Int32) |
Calcola il valore hash per l'area specificata 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 SHA-1. |
| TryHashFinal(Span<Byte>, Int32) |
Tenta di finalizzare il calcolo HMAC dopo l'elaborazione degli ultimi dati dall'algoritmo HMAC. |
| Verify(Byte[], Byte[], Byte[]) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
| Verify(Byte[], Stream, Byte[]) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
| Verify(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
| Verify(ReadOnlySpan<Byte>, Stream, ReadOnlySpan<Byte>) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
| VerifyAsync(Byte[], Stream, Byte[], CancellationToken) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
| VerifyAsync(ReadOnlyMemory<Byte>, Stream, ReadOnlyMemory<Byte>, CancellationToken) |
Calcola un codice HMAC (Hash-based Message Authentication Code) usando la SHA1 funzione hash. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IDisposable.Dispose() |
Rilascia le risorse non gestite usate da HashAlgorithm e, facoltativamente, rilascia le risorse gestite. (Ereditato da HashAlgorithm) |