HMAC 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示抽象類別,所有的雜湊式訊息驗證碼 (HMAC) 實作均須從這個類別衍生。
public ref class HMAC abstract : System::Security::Cryptography::KeyedHashAlgorithm
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HMAC : System.Security.Cryptography.KeyedHashAlgorithm
type HMAC = class
inherit KeyedHashAlgorithm
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMAC = class
inherit KeyedHashAlgorithm
Public MustInherit Class HMAC
Inherits KeyedHashAlgorithm
- 繼承
- 衍生
- 屬性
備註
哈希型訊息驗證碼 (HMAC) 可用來判斷透過不安全通道傳送的訊息是否已遭到竄改,前提是傳送者和接收者共用秘密密鑰。 傳送者會計算原始數據的哈希值,並將原始數據和 HMAC 傳送為單一訊息。 接收者會重新計算所接收訊息上的哈希值,並檢查計算的哈希值是否符合傳輸的哈希值。
HMAC 可以搭配任何反覆密碼編譯哈希函式使用,例如 MD5 或 SHA-1,並搭配秘密共用密鑰。 HMAC 的密碼編譯強度取決於基礎哈希函式的屬性。
對數據或哈希值所做的任何變更都會導致不符,因為必須知道秘密密鑰,才能變更訊息並重現正確的哈希值。 因此,如果原始和計算的哈希值相符,則會驗證訊息。
由於 MD5 和 SHA-1 發生衝突問題,Microsoft 建議以 SHA-256 或更佳為基礎的安全性模型。
建構函式
HMAC() |
初始化 HMAC 類別的新執行個體。 |
欄位
HashSizeValue |
代表計算出來之雜湊碼的大小,以位元為單位。 (繼承來源 HashAlgorithm) |
HashValue |
表示計算出來的雜湊碼的值。 (繼承來源 HashAlgorithm) |
KeyValue |
要使用於雜湊演算法的金鑰。 (繼承來源 KeyedHashAlgorithm) |
State |
表示雜湊計算的狀態。 (繼承來源 HashAlgorithm) |
屬性
BlockSizeValue |
取得或設定要使用於雜湊值的區塊大小。 |
CanReuseTransform |
取得值,表示目前的轉換是否可重複使用。 (繼承來源 HashAlgorithm) |
CanTransformMultipleBlocks |
在衍生類別中覆寫時,取得值以指出是否有多個區塊可被轉換。 (繼承來源 HashAlgorithm) |
Hash |
取得計算出來之雜湊碼的值。 (繼承來源 HashAlgorithm) |
HashName |
取得或設定用於雜湊的雜湊演算法名稱。 |
HashSize |
取得計算出來之雜湊碼的大小,以位元為單位。 (繼承來源 HashAlgorithm) |
InputBlockSize |
在衍生類別中覆寫時,取得輸入區塊的大小。 (繼承來源 HashAlgorithm) |
Key |
取得或設定要在 HMAC 計算中使用的索引鍵。 |
OutputBlockSize |
在衍生類別中覆寫時,取得輸出區塊的大小。 (繼承來源 HashAlgorithm) |
方法
明確介面實作
IDisposable.Dispose() |
釋放 HashAlgorithm 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。 (繼承來源 HashAlgorithm) |