BCryptKeyDerivation 函数是 Windows Cryptography API: Next Generation (CNG) 中的一个函数,用于执行密钥派生操作。以下是该函数的原型:
NTSTATUS BCryptKeyDerivation(
  BCRYPT_KEY_HANDLE hKey,
  BCryptBufferDesc *pParameterList,
  PUCHAR            pbDerivedKey,
  ULONG             cbDerivedKey,
  ULONG             *pcbResult,
  ULONG             dwFlags
);

参数说明:

  •  hKey: 用于密钥派生的原始密钥的句柄。

  •  pParameterList: 一个指向 BCryptBufferDesc 结构的指针,该结构包含派生密钥所需的参数。

  •  pbDerivedKey: 指向输出缓冲区的指针,用于存储派生的密钥。

  •  cbDerivedKey: 输出缓冲区的大小(以字节为单位)。

  •  pcbResult: 返回实际写入输出缓冲区的字节数的指针。

  •  dwFlags: 控制密钥派生的标志,通常可以设置为零。


函数的返回值是 NTSTATUS 类型,成功时返回 STATUS_SUCCESS。

BCryptKeyDerivation 函数用于执行密钥派生操作,它通过将原始密钥与一组参数结合,生成一个派生密钥。pParameterList 参数是一个指向 BCryptBufferDesc 结构的指针,该结构包含用于密钥派生的各种参数。pbDerivedKey 缓冲区用于存储生成的派生密钥。

派生密钥的大小由 cbDerivedKey 参数指定,pcbResult 参数用于返回实际写入缓冲区的字节数。通常,在调用函数之前,需要确保输出缓冲区足够大以容纳生成的派生密钥。

总体而言,BCryptKeyDerivation 是用于执行密钥派生操作的 CNG 函数。


转载请注明出处:http://www.pingtaimeng.com/article/detail/24004/Win32 API/Bcrypt.h/BCryptKeyDerivation