CryptHashSessionKey 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
在调用此函数之前,必须调用 CryptCreateHash 来创建 哈希对象的句柄。
语法
BOOL CryptHashSessionKey(
[in] HCRYPTHASH hHash,
[in] HCRYPTKEY hKey,
[in] DWORD dwFlags
);
参数
[in] hHash
哈希对象的句柄。
[in] hKey
要哈希处理的键对象的句柄。
[in] dwFlags
定义了以下标志值。
值 | 含义 |
---|---|
|
设置此标志时,密钥的字节以 little-endian 形式进行哈希处理。 请注意,默认情况下 (当 dwFlags 为零) 时,键的字节以 big-endian 格式进行哈希处理。 |
返回值
如果函数成功,则返回值为 TRUE。
如果函数失败,则返回值为 FALSE。 有关扩展的错误信息,请调用 GetLastError。
以“NTE”开头的错误代码由你使用的特定 CSP 生成。 下面是一些可能的错误代码。
返回代码 | 说明 |
---|---|
|
其中一个参数指定无效的句柄。 |
|
其中一个参数包含无效的值。 这通常是无效的指针。 |
|
hHash 句柄指定此 CSP 不支持的算法。 |
|
dwFlags 参数为非零值。 |
|
hHash 参数指定的哈希对象无效。 |
|
尝试将数据添加到已标记为“已完成”的哈希对象。 |
|
正在使用键控哈希算法,但会话密钥不再有效。 如果在哈希操作完成之前销毁会话密钥,则会生成此错误。 |
|
找不到创建哈希对象时指定的 CSP 上下文。 |
|
函数以某种意外的方式失败。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |