語言

HMAC.Key 屬性

定義

取得或設定用於 HMAC 計算的金鑰。

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()

屬性值

Byte[]

這是計算 HMAC 時要用的關鍵。

例外狀況

在開始雜湊後,會嘗試更改 Key 屬性。

備註

此特性是鍵控雜湊演算法的鑰匙。

基於雜湊的訊息認證碼(HMAC)可用來判斷透過不安全通道傳送的訊息是否被竄改,前提是發送者與接收者共享秘密金鑰。 發送端會計算原始資料的雜湊值,並將原始資料與 HMAC 作為單一訊息傳送。 接收端會重新計算收到訊息的雜湊值,並檢查計算出的雜湊值是否與傳送的雜湊值相符。

HMAC 可搭配任何迭代密碼雜湊函數使用,如 MD5 或 SHA-1,並搭配秘密共享金鑰。 HMAC 的密碼強度取決於底層雜湊函數的特性。

任何對資料或雜湊值的變更都會導致不匹配,因為必須知道秘密金鑰才能更改訊息並重現正確的雜湊值。 因此,如果原始與計算出來的雜湊值相符,訊息即被驗證。

由於 MD5 與 SHA-1 有衝突問題,Microsoft 建議採用以 SHA-256 或更完善的安全模型。

適用於

另請參閱