HMACMD5 類別

定義

使用 MD5 雜湊函式,計算雜湊架構訊息驗證碼 (Hash-based Message Authentication Code,HMAC)。

public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
    inherit HMAC
type HMACMD5 = class
    inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
    inherit HMAC
Public Class HMACMD5
Inherits HMAC
繼承
屬性

備註

HMACMD5 是從訊息摘要演算法 5 (MD5) 雜湊函式建構的索引鍵雜湊演算法類型,並做為雜湊型訊息驗證程式代碼 (HMAC) 。 HMAC 程式會混合秘密金鑰與訊息資料、使用雜湊函式雜湊結果、再次將該雜湊值與秘密金鑰混合,然後再套用雜湊函式一次。 輸出雜湊的長度為 128 位。

HMAC 可用來判斷透過不安全通道傳送的訊息是否已遭到竄改,前提是傳送者和接收者共用秘密金鑰。 傳送者會計算原始資料的雜湊值,並以單一訊息的形式傳送原始資料和雜湊值。 接收者會重新計算所接收訊息上的雜湊值,並檢查計算的 HMAC 是否符合傳輸的 HMAC。

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

MD5 是 RSA 密碼編譯雜湊演算法, HMACMD5 接受任何大小的索引鍵,並產生長度為 128 位的雜湊序列。

由於 MD5 的衝突問題,Microsoft 建議使用 SHA256。

建構函式

HMACMD5()

以隨機產生的金鑰初始化 HMACMD5 類別的新執行個體。

HMACMD5(Byte[])

使用指定的金鑰,初始化 HMACMD5 類別的新執行個體。

欄位

HashSizeInBits

HMAC MD5 演算法所產生的雜湊大小,以位為單位。

HashSizeInBytes

HMAC MD5 演算法所產生的雜湊大小,以位元組為單位。

HashSizeValue

代表計算出來之雜湊碼的大小,以位元為單位。

(繼承來源 HashAlgorithm)
HashValue

表示計算出來的雜湊碼的值。

(繼承來源 HashAlgorithm)
KeyValue

要使用於雜湊演算法的金鑰。

(繼承來源 KeyedHashAlgorithm)
State

表示雜湊計算的狀態。

(繼承來源 HashAlgorithm)

屬性

BlockSizeValue

取得或設定要使用於雜湊值的區塊大小。

(繼承來源 HMAC)
CanReuseTransform

取得值,表示目前的轉換是否可重複使用。

(繼承來源 HashAlgorithm)
CanTransformMultipleBlocks

在衍生類別中覆寫時,取得值以指出是否有多個區塊可被轉換。

(繼承來源 HashAlgorithm)
Hash

取得計算出來之雜湊碼的值。

(繼承來源 HashAlgorithm)
HashName

取得或設定用於雜湊的雜湊演算法名稱。

(繼承來源 HMAC)
HashSize

取得計算出的 HMAC 大小,以位元為單位。

HashSize

取得計算出來之雜湊碼的大小,以位元為單位。

(繼承來源 HashAlgorithm)
InputBlockSize

在衍生類別中覆寫時,取得輸入區塊的大小。

(繼承來源 HashAlgorithm)
Key

取得或設定要在 HMAC 計算中使用的索引鍵。

Key

取得或設定要在 HMAC 計算中使用的索引鍵。

(繼承來源 HMAC)
OutputBlockSize

在衍生類別中覆寫時,取得輸出區塊的大小。

(繼承來源 HashAlgorithm)

方法

Clear()

釋放 HashAlgorithm 類別所使用的所有資源。

(繼承來源 HashAlgorithm)
ComputeHash(Byte[])

計算指定位元組陣列的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

計算所指定位元組陣列中指定區域的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHash(Stream)

計算指定 Stream 物件的雜湊值。

(繼承來源 HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

以非同步方式計算指定 Stream 物件的雜湊值。

(繼承來源 HashAlgorithm)
Dispose()

釋放 HashAlgorithm 類別目前的執行個體所使用的全部資源。

(繼承來源 HashAlgorithm)
Dispose(Boolean)

釋放 HMACMD5 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

Dispose(Boolean)

如果金鑰變更是合法的,則釋放 HMAC 類別所使用的 Unmanaged 資源,並選擇性釋放 Managed 資源。

(繼承來源 HMAC)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
HashCore(Byte[], Int32, Int32)

將寫入物件的資料路由傳送至 HMAC 演算法,以用來計算 HMAC。

HashCore(Byte[], Int32, Int32)

於衍生類型中覆寫時,將寫入物件的資料路由傳送至用來計算 HMAC 值的 HMAC 演算法。

(繼承來源 HMAC)
HashCore(ReadOnlySpan<Byte>)

將寫入物件的資料路由傳送至 HMAC 演算法,以用來計算 HMAC。

HashCore(ReadOnlySpan<Byte>)

將寫入物件的資料路由傳送至 HMAC 演算法,以用來計算 HMAC。

(繼承來源 HMAC)
HashData(Byte[], Byte[])

使用 MD5 演算法計算資料的 HMAC。

HashData(Byte[], Stream)

使用 MD5 演算法計算資料流程的 HMAC。

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

使用 MD5 演算法計算資料的 HMAC。

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

使用 MD5 演算法計算資料的 HMAC。

HashData(ReadOnlySpan<Byte>, Stream)

使用 MD5 演算法計算資料流程的 HMAC。

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

使用 MD5 演算法計算資料流程的 HMAC。

HashDataAsync(Byte[], Stream, CancellationToken)

使用 MD5 演算法以非同步方式計算資料流程的 HMAC。

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

使用 MD5 演算法以非同步方式計算資料流程的 HMAC。

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

使用 MD5 演算法以非同步方式計算資料流程的 HMAC。

HashFinal()

在演算法處理最後一筆資料之後,完成 HMAC 計算。

HashFinal()

於衍生類型中覆寫時,在演算法處理最後一筆資料後,完成 HMAC 計算。

(繼承來源 HMAC)
Initialize()

將雜湊演算法重設為其初始狀態。

Initialize()

初始化 HMAC 預設實作的執行個體。

(繼承來源 HMAC)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

計算輸入位元組陣列中指定區域的雜湊值,並將指定的輸入位元組陣列區域複製到指定的輸出位元組陣列區域。

(繼承來源 HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

計算所指定位元組陣列中指定區域的雜湊值。

(繼承來源 HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

嘗試計算指定位元組陣列的雜湊值。

(繼承來源 HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

嘗試使用 MD5 演算法計算資料的 HMAC。

TryHashFinal(Span<Byte>, Int32)

在 HMAC 演算法處理最後一筆資料之後,嘗試完成 HMAC 計算。

TryHashFinal(Span<Byte>, Int32)

在 HMAC 演算法處理最後一筆資料之後,嘗試完成 HMAC 計算。

(繼承來源 HMAC)

明確介面實作

IDisposable.Dispose()

釋放 HashAlgorithm 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 HashAlgorithm)

適用於

另請參閱