PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 PasswordDeriveBytes 物件衍生密碼編譯金鑰。
public:
cli::array <System::Byte> ^ CryptDeriveKey(System::String ^ algname, System::String ^ alghashname, int keySize, cli::array <System::Byte> ^ rgbIV);
[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);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
Public Function CryptDeriveKey (algname As String, alghashname As String, keySize As Integer, rgbIV As Byte()) As Byte()
參數
- 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.
cryptoDESProvider->Key = passwordDeriveBytes->CryptDeriveKey
("TripleDES", "SHA1", 192, cryptoDESProvider->IV);
// 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);
' 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 位,則會使用指定演算法的預設金鑰大小。