共用方式為


HMACSHA1 類別

定義

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

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

備註

HMACSHA1 是從 SHA1 哈希函式建構並做為 HMAC 或哈希型訊息驗證程式代碼的索引鍵哈希演算法類型。 HMAC 程式會混合秘密密鑰與訊息數據、使用哈希函式哈希結果、再次將該哈希值與秘密密鑰混合,然後再套用哈希函式一次。 輸出哈希的長度為160位。

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

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

SHA-1 (安全哈希演算法,也稱為SHS、安全哈希標準) 是美國政府發佈的密碼編譯哈希演算法。 它會從任意長度字串產生160位哈希值。

HMACSHA1 接受任何大小的索引鍵,併產生長度為160位的哈希序列。

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

建構函式

HMACSHA1()

使用隨機產生的金鑰,初始化 HMACSHA1 類別的新執行個體。

HMACSHA1(Byte[])

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

HMACSHA1(Byte[], Boolean)
已淘汰.

使用指定的金鑰資料和指定是否使用 SHA1 演算法之 Managed 版本的值,初始化 HMACSHA1 類別的新執行個體。

欄位

HashSizeInBits

HMAC SHA1 演算法所產生的哈希大小,以位為單位。

HashSizeInBytes

HMAC SHA1 演算法所產生的哈希大小,以位元組為單位。

HashSizeValue

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

(繼承來源 HashAlgorithm)
HashValue

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

(繼承來源 HashAlgorithm)
KeyValue

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

(繼承來源 KeyedHashAlgorithm)
State

表示雜湊計算的狀態。

(繼承來源 HashAlgorithm)

屬性

BlockSizeValue

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

(繼承來源 HMAC)
CanReuseTransform

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

(繼承來源 HashAlgorithm)
CanTransformMultipleBlocks

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

(繼承來源 HashAlgorithm)
Hash

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

(繼承來源 HashAlgorithm)
HashName

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

HashName

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

(繼承來源 HMAC)
HashSize

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

HashSize

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

(繼承來源 HashAlgorithm)
InputBlockSize

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

(繼承來源 HashAlgorithm)
Key

取得或設定要使用於雜湊演算法的金鑰。

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)

這個成員會覆寫 Dispose(Boolean),您可以在該主題中找到更完整的文件。

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

Dispose(Boolean)

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

(繼承來源 HMAC)
Equals(Object)

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

(繼承來源 Object)
Finalize()

允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

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

將寫入物件的資料路由傳送到用來計算雜湊式訊息驗證碼 (HMAC) 的 SHA1 雜湊演算法。

HashCore(Byte[], Int32, Int32)

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

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

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

HashCore(ReadOnlySpan<Byte>)

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

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

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

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

使用 SHA1 演算法計算數據的 HMAC。

HashData(Byte[], Stream)

使用 SHA1 演算法計算數據流的 HMAC。

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

使用 SHA1 演算法計算數據的 HMAC。

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

使用 SHA1 演算法計算數據的 HMAC。

HashData(ReadOnlySpan<Byte>, Stream)

使用 SHA1 演算法計算數據流的 HMAC。

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

使用 SHA1 演算法計算數據流的 HMAC。

HashDataAsync(Byte[], Stream, CancellationToken)

使用 SHA1 演算法,以異步方式計算數據流的 HMAC。

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

使用 SHA1 演算法,以異步方式計算數據流的 HMAC。

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

使用 SHA1 演算法,以異步方式計算數據流的 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)

嘗試使用 SHA1 演演算法計算數據的 HMAC。

TryHashFinal(Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

(繼承來源 HMAC)
TryHashFinal(Span<Byte>, Int32)

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

(繼承來源 HashAlgorithm)

明確介面實作

IDisposable.Dispose()

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

(繼承來源 HashAlgorithm)

適用於

另請參閱