bCryptHash 函数 (bcrypt.h)
执行单个哈希计算。 这是一个方便的函数,用于包装对 BCryptCreateHash、 BCryptHashData、 BCryptFinishHash 和 BCryptDestroyHash 的调用。
语法
NTSTATUS BCryptHash(
BCRYPT_ALG_HANDLE hAlgorithm,
PUCHAR pbSecret,
ULONG cbSecret,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
ULONG cbOutput
);
参数
hAlgorithm
使用 BCryptOpenAlgorithmProvider 函数创建的算法提供程序的句柄。 创建提供程序时指定的算法必须支持哈希接口。
pbSecret
指向缓冲区的指针,该缓冲区包含要用于哈希或 MAC 的键。 cbSecret 参数包含此缓冲区的大小。 此密钥仅适用于 BCryptOpenAlgorithmProvider 函数通过使用 BCRYPT_ALG_HANDLE_HMAC 标志打开 的 哈希算法。 否则,请将此参数设置为 NULL
cbSecret
pbSecret 缓冲区的大小(以字节为单位)。 如果未使用任何键,请将此参数设置为零。
pbInput
指向包含要处理的数据的缓冲区的指针。 cbInput 参数包含此缓冲区中的字节数。 此函数不会修改此缓冲区的内容。
cbInput
pbInput 缓冲区中的字节数。
pbOutput
指向接收哈希或 MAC 值的缓冲区的指针。 cbOutput 参数包含此缓冲区的大小。
cbOutput
pbOutput 缓冲区的大小(以字节为单位)。 此大小必须与哈希值或 MAC 值的大小完全匹配。
可以通过调用 BCryptGetProperty 函数获取 BCRYPT_HASH_LENGTH 属性来获取 大小 。 这将提供指定算法的哈希或 MAC 值的大小。
返回值
指示成功或失败的状态代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2016 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | bcrypt.h |
Library | Bcrypt.lib |
DLL | Bcrypt.dll |