PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) 方法

定義

PasswordDeriveBytes 物件衍生密碼編譯金鑰。

[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public byte[] CryptDeriveKey (string? algname, string? alghashname, int keySize, byte[] rgbIV);
public byte[] CryptDeriveKey (string algname, string alghashname, int keySize, byte[] rgbIV);

參數

algname
String

用來衍生金鑰的演算法名稱。

alghashname
String

要用來衍生金鑰的雜湊演算法名稱。

keySize
Int32

要衍生的金鑰大小 (以位元為單位)。

rgbIV
Byte[]

用來衍生金鑰的初始化向量 (IV)。

傳回

Byte[]

所衍生金鑰。

屬性

例外狀況

keySize 參數不正確。

-或-

無法取得密碼編譯服務提供者 (CSP)。

-或-

algname 參數不是有效的演算法名稱。

-或-

alghashname 參數不是有效的雜湊演算法名稱。

範例

此程式代碼範例是針對 類別提供的較大範例的 PasswordDeriveBytes 一部分。


// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
// This example uses the SHA1 algorithm.
// Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);

備註

此函式是 Crypto API 函式 CryptDeriveKey () 的包裝函式,旨在使用密碼編譯 API 與應用程式提供互操作性。

keySize如果參數設定為 0 位,則會使用指定演算法的預設金鑰大小。

適用於

產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另請參閱