Share via


HMACSHA1 建構函式

定義

初始化 HMACSHA1 類別的新執行個體。

多載

HMACSHA1()

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

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

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

HMACSHA1(Byte[])

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

HMACSHA1()

來源:
HMACSHA1.cs
來源:
HMACSHA1.cs
來源:
HMACSHA1.cs

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

public:
 HMACSHA1();
public HMACSHA1 ();
Public Sub New ()

備註

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

這個建構函式會使用64位元組的隨機產生的索引鍵。

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

另請參閱

適用於

HMACSHA1(Byte[], Boolean)

來源:
HMACSHA1.cs
來源:
HMACSHA1.cs
來源:
HMACSHA1.cs

警告

HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.

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

public:
 HMACSHA1(cli::array <System::Byte> ^ key, bool useManagedSha1);
public HMACSHA1 (byte[] key, bool useManagedSha1);
[System.Obsolete("HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.", DiagnosticId="SYSLIB0030", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public HMACSHA1 (byte[] key, bool useManagedSha1);
new System.Security.Cryptography.HMACSHA1 : byte[] * bool -> System.Security.Cryptography.HMACSHA1
[<System.Obsolete("HMACSHA1 always uses the algorithm implementation provided by the platform. Use a constructor without the useManagedSha1 parameter.", DiagnosticId="SYSLIB0030", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
new System.Security.Cryptography.HMACSHA1 : byte[] * bool -> System.Security.Cryptography.HMACSHA1
Public Sub New (key As Byte(), useManagedSha1 As Boolean)

參數

key
Byte[]

HMAC 計算的秘密金鑰。 密鑰可以是任何長度,但如果長度超過 64 個字節,則會使用 SHA-1) 來衍生 20 位元組索引鍵 (哈希。 因此,秘密金鑰的建議大小為 64 個位元組。

useManagedSha1
Boolean

true 表示使用 SHA1 演算法的 Managed 實作 (SHA1Managed 類別),false 表示使用 Unmanaged 實作 (SHA1CryptoServiceProvider 類別)。

屬性

備註

由於 SHA1 的衝突問題,Microsoft 建議您使用以 SHA256 或更好的加密方式為基礎的安全性模型。

適用於

HMACSHA1(Byte[])

來源:
HMACSHA1.cs
來源:
HMACSHA1.cs
來源:
HMACSHA1.cs

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

public:
 HMACSHA1(cli::array <System::Byte> ^ key);
public:
 HMACSHA1(cli::array <System::Byte> ^ rgbKey);
public HMACSHA1 (byte[] key);
public HMACSHA1 (byte[] rgbKey);
new System.Security.Cryptography.HMACSHA1 : byte[] -> System.Security.Cryptography.HMACSHA1
new System.Security.Cryptography.HMACSHA1 : byte[] -> System.Security.Cryptography.HMACSHA1
Public Sub New (key As Byte())
Public Sub New (rgbKey As Byte())

參數

keyrgbKey
Byte[]

HMACSHA1 加密的秘密金鑰。 金鑰可以是任何長度,但其長度若超過 64 個位元組,便會使用 SHA-1 進行雜湊,以衍生 64 位元組金鑰。 因此,秘密金鑰的建議大小為 64 個位元組。

例外狀況

key 參數為 null

範例

如需如何使用這個建構函式的範例,請參閱 HMACSHA1 類別。

備註

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

注意

此建構函式會使用 SHA1CryptoServiceProvider 類別建立演算法的 Unmanaged 實例。

由於 SHA1 的衝突問題,Microsoft 建議您使用以 SHA256 或更好的加密方式為基礎的安全性模型。

另請參閱

適用於