HMACMD5 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 (Message Authentication Code) basato su hash usando la MD5 funzione hash.
public ref class HMACMD5 : System::Security::Cryptography::HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
type HMACMD5 = class
inherit HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
inherit HMAC
Public Class HMACMD5
Inherits HMAC
- Ereditarietà
- Attributi
Commenti
HMACMD5 è un tipo di algoritmo hash con chiave costruito dalla funzione hash Message Digest Algorithm 5 (MD5) e usato come codice HMAC (Hash-based Message Authentication Code). 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 128 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.
MD5 è un algoritmo hash crittografico sviluppato presso RSA Laboratories. HMACMD5 accetta chiavi di qualsiasi dimensione e produce una sequenza hash di lunghezza pari a 128 bit.
A causa di problemi di collisione con MD5, Microsoft consiglia SHA-256.
Costruttori
| Nome | Descrizione |
|---|---|
| HMACMD5() |
Inizializza una nuova istanza della HMACMD5 classe utilizzando una chiave generata in modo casuale. |
| HMACMD5(Byte[]) |
Inizializza una nuova istanza della HMACMD5 classe utilizzando la chiave specificata. |
Campi
| Nome | Descrizione |
|---|---|
| HashSizeInBits |
Dimensioni hash prodotte dall'algoritmo MD5 HMAC, in bit. |
| HashSizeInBytes |
Dimensioni hash prodotte dall'algoritmo MD5 HMAC, 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. (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 nel calcolo HMAC. |
| 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) |
Rilascia le risorse non gestite usate da HMACMD5 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) |
| 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 HMAC per il calcolo di HMAC. |
| 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 MD5. |
| HashData(Byte[], Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo MD5. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo MD5. |
| HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Calcola l'HMAC dei dati usando l'algoritmo MD5. |
| HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>) |
Calcola l'HMAC di un flusso usando l'algoritmo MD5. |
| HashData(ReadOnlySpan<Byte>, Stream) |
Calcola l'HMAC di un flusso usando l'algoritmo MD5. |
| HashDataAsync(Byte[], Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo MD5. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo MD5. |
| HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken) |
Calcola in modo asincrono l'HMAC di un flusso usando l'algoritmo MD5. |
| 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 MD5. |
| 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 (Message Authentication Code) basato su hash usando la MD5 funzione hash. |
| Verify(Byte[], Stream, Byte[]) |
Calcola un codice HMAC (Message Authentication Code) basato su hash usando la MD5 funzione hash. |
| Verify(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>) |
Calcola un codice HMAC (Message Authentication Code) basato su hash usando la MD5 funzione hash. |
| Verify(ReadOnlySpan<Byte>, Stream, ReadOnlySpan<Byte>) |
Calcola un codice HMAC (Message Authentication Code) basato su hash usando la MD5 funzione hash. |
| VerifyAsync(Byte[], Stream, Byte[], CancellationToken) |
Calcola un codice HMAC (Message Authentication Code) basato su hash usando la MD5 funzione hash. |
| VerifyAsync(ReadOnlyMemory<Byte>, Stream, ReadOnlyMemory<Byte>, CancellationToken) |
Calcola un codice HMAC (Message Authentication Code) basato su hash usando la MD5 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) |