以下是 BCryptCreateHash 函数的原型:
NTSTATUS BCryptCreateHash(
BCRYPT_ALG_HANDLE hAlgorithm,
BCRYPT_HASH_HANDLE *phHash,
PUCHAR pbHashObject,
ULONG cbHashObject,
PUCHAR pbSecret,
ULONG cbSecret,
ULONG dwFlags
);
这个函数用于创建一个哈希对象,其中包含了用于哈希计算的算法信息。参数和返回值的意义如下:
- hAlgorithm: 用于哈希计算的算法句柄。
- phHash: 指向哈希对象句柄的指针,该句柄将在函数成功调用后被填充。
- pbHashObject: 用于存储哈希对象的缓冲区。
- cbHashObject: pbHashObject 缓冲区的大小(以字节为单位)。
- pbSecret: 包含密钥的密钥值的缓冲区(可选,可以为 NULL)。
- cbSecret: pbSecret 缓冲区的大小(以字节为单位)。
- dwFlags: 控制哈希对象的创建行为的标志,通常可以设置为零。
函数的返回值是 NTSTATUS 类型,成功时返回 STATUS_SUCCESS。
请注意,BCryptHash 函数已经过时,因此建议使用 BCryptCreateHash 函数代替。在使用哈希对象进行哈希计算之前,通常需要通过 BCryptHashData 函数输入要进行哈希的数据,并通过 BCryptFinishHash 函数完成哈希计算。
总体而言,BCryptCreateHash 是用于创建哈希对象的现代 CNG 函数。
转载请注明出处:http://www.zyzy.cn/article/detail/24000/Win32 API/Bcrypt.h/BCryptHash