Share via


HMAC.Initialize Metodo

Definizione

Inizializza un'istanza dell'implementazione predefinita di HMAC.

public:
 override void Initialize();
public override void Initialize ();
override this.Initialize : unit -> unit
Public Overrides Sub Initialize ()

Commenti

Un codice HMAC (Hash-based Message Authentication Code) 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 HMAC come singolo messaggio. Il ricevitore ricomputa il valore hash nel messaggio ricevuto e verifica che il valore hash calcolato corrisponda al valore hash trasmesso.

HMAC può essere usato con qualsiasi funzione hash crittografica iterativa, ad esempio MD5 o SHA-1, in combinazione con una chiave condivisa privata. Il livello di crittografia di HMAC dipende dalle proprietà della funzione hash sottostante.

Qualsiasi modifica apportata ai dati o al valore hash comporterà 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.

A causa di problemi di collisione con MD5 e SHA-1, Microsoft consiglia un modello di sicurezza basato su SHA-256 o superiore.

Si applica a