HMACSHA1 Classe

Definizione

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)

Si applica a

Vedi anche