HMACSHA1 Classe

Definizione

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)

Si applica a

Vedi anche