BCryptDeriveKeyCapi 函式 (bcrypt.h)
BCryptDeriveKeyCapi 函式會從哈希值衍生密鑰。
此函式是以協助程式函式的形式提供,可協助移轉舊版密碼編譯 API (CAPI) 型應用程式,以使用密碼編譯 API:新一代 (CNG) 。 BCryptDeriveKeyCapi 函式會以與 CAPI CryptDeriveKey 函式相容的方式執行密鑰衍生。
語法
NTSTATUS BCryptDeriveKeyCapi(
[in] BCRYPT_HASH_HANDLE hHash,
[in, optional] BCRYPT_ALG_HANDLE hTargetAlg,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
參數
[in] hHash
哈希物件的句柄。 呼叫 BCryptCreateHash 函式可取得句柄。 當您完成使用句柄之後,您必須呼叫 BCryptDestroyHash 函式來釋放它。
[in, optional] hTargetAlg
演算法物件的句柄。 這可以是與 CryptDeriveKey 函式相容的ALG_ID值。
注意 CAPI 和金鑰擴充的限制可防止使用任何產生大於 512 位之輸出的哈希演算法。
[out] pbDerivedKey
接收衍生金鑰之緩衝區的指標。
[in] cbDerivedKey
pbDerivedKey 參數所指向之衍生密鑰的大小,以字元為單位。
[in] dwFlags
此參數是保留的,而且必須設定為零。
傳回值
傳回狀態代碼,指出函式的成功或失敗。
可能的傳回碼包括但不限於下列專案。
傳回碼 | Description |
---|---|
|
函式成功。 |
|
hHash 或 hTargetAlg 參數中的句柄無效。 |
|
cbDerivedKey 參數中的值大於哈希函式的輸出大小兩倍。 |
|
發生記憶體配置失敗。 |
備註
此函式不支援 CAPI CryptDeriveKey 函式的 PK salt 功能。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | bcrypt.h |
程式庫 | Bcrypt.lib |
Dll | Bcrypt.dll |