HMAC.Key Eigenschaft

Definition

Ruft den Schlüssel für die HMAC-Berechnung ab oder legt diesen fest.

public:
 virtual property cli::array <System::Byte> ^ Key { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public override byte[] Key { get; set; }
member this.Key : byte[] with get, set
Public Overrides Property Key As Byte()

Eigenschaftswert

Byte[]

Der Schlüssel, der in der HMAC-Berechnung verwendet werden soll.

Ausnahmen

Es wird versucht, die Key-Eigenschaft nach Beginn der Hashoperation zu ändern.

Hinweise

Diese Eigenschaft ist der Schlüssel für den Schlüsselhashalgorithmus.

Ein Hashbasierter Nachrichtenauthentifizierungscode (Hash-based Message Authentication Code, HMAC) kann verwendet werden, um zu bestimmen, ob eine über einen unsicheren Kanal gesendete Nachricht manipuliert wurde, sofern Absender und Empfänger einen geheimen Schlüssel gemeinsam nutzen. Der Absender berechnet den Hashwert für die ursprünglichen Daten und sendet sowohl die ursprünglichen Daten als auch den HMAC als einzelne Nachricht. Der Empfänger berechnet den Hashwert für die empfangene Nachricht neu und überprüft, ob der berechnete Hashwert mit dem übertragenen Hashwert übereinstimmt.

HMAC kann mit jeder iterativen kryptografischen Hashfunktion wie MD5 oder SHA-1 in Kombination mit einem gemeinsam genutzten geheimen Schlüssel verwendet werden. Die kryptografische Stärke von HMAC hängt von den Eigenschaften der zugrunde liegenden Hashfunktion ab.

Jede Änderung der Daten oder des Hashwerts führt zu einem Konflikt, da Kenntnisse des geheimen Schlüssels erforderlich sind, um die Nachricht zu ändern und den richtigen Hashwert zu reproduzieren. Wenn die ursprünglichen und berechneten Hashwerte übereinstimmen, wird die Nachricht daher authentifiziert.

Aufgrund von Kollisionsproblemen mit MD5 und SHA-1 empfiehlt Microsoft ein Sicherheitsmodell, das auf SHA-256 oder höher basiert.

Gilt für:

Weitere Informationen