NCryptProtectSecret 函式 (ncryptprotect.h)
NCryptProtectSecret 函式會將數據加密至指定的保護描述元。 呼叫 NCryptUnprotectSecret 來解密數據。
語法
SECURITY_STATUS NCryptProtectSecret(
[in] NCRYPT_DESCRIPTOR_HANDLE hDescriptor,
[in] DWORD dwFlags,
[in] const BYTE *pbData,
[in] ULONG cbData,
[in, optional] const NCRYPT_ALLOC_PARA *pMemPara,
[in, optional] HWND hWnd,
[out] BYTE **ppbProtectedBlob,
[out] ULONG *pcbProtectedBlob
);
參數
[in] hDescriptor
保護描述元物件的句柄。 呼叫 NCryptCreateProtectionDescriptor 來建立句柄。
[in] dwFlags
旗標可以是零或下列值。
值 | 意義 |
---|---|
|
要求金鑰服務提供者未顯示使用者介面。 |
[in] pbData
要保護的位元組陣組指標。
[in] cbData
pbData 參數所指定二進位數組中的位元元組數目。
[in, optional] pMemPara
可用來指定自定義記憶體管理功能 之NCRYPT_ALLOC_PARA 結構的指標。 如果您將此自變數設定為 NULL,LocalAlloc 函式會在內部用來配置記憶體,而且您的應用程式必須呼叫 LocalFree 來釋放 ppbProtectedBlob 參數所指向的記憶體。
[in, optional] hWnd
使用者介面的父視窗句柄,如果有的話,就會顯示。
[out] ppbProtectedBlob
接收加密數據的指標的變數位址。
[out] pcbProtectedBlob
ULONG 變數的指標,其中包含ppbProtectedBlob變數所指向之加密數據的大小,以位元組為單位。
傳回值
傳回狀態代碼,指出函式的成功或失敗。 可能的傳回碼包括但不限於下列各項。
傳回碼 | Description |
---|---|
|
函式成功。 |
|
pbData、ppbProtectedBlob 和bsProtectedBlob 參數不能是 NULL。
cbData 參數不能小於一個。 |
|
記憶體不足,無法設定內容加密金鑰。 |
|
hDescriptor 參數指定的句柄無效。 |
備註
使用 NCryptProtectSecret 函式來保護密鑰、金鑰數據和密碼。 使用 NCryptStreamOpenToProtect 和 NCryptStreamUpdate 函式來加密較大的訊息。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2012 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ncryptprotect.h |
程式庫 | NCrypt.lib |
Dll | NCrypt.dll |