在 Windows Cryptography API: Next Generation (CNG) 中,BCryptFinishHash 函数用于完成哈希对象的计算,生成哈希值。以下是该函数的原型:
NTSTATUS BCryptFinishHash(
  BCRYPT_HASH_HANDLE hHash,
  PUCHAR             pbOutput,
  ULONG              cbOutput,
  ULONG              dwFlags
);

参数说明:

  •  hHash: 要完成的哈希对象的句柄。

  •  pbOutput: 指向输出缓冲区的指针,用于存储生成的哈希值。

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

  •  dwFlags: 控制哈希操作的标志,通常可以设置为零。


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

使用哈希函数时,通常需要经过初始化、数据输入、完成哈希等步骤。BCryptFinishHash 就是用于完成哈希的最后一步。在调用该函数之前,需要先调用 BCryptHashData 或类似的函数输入要进行哈希的数据。完成哈希后,生成的哈希值将存储在提供的输出缓冲区中。

完成哈希后,可以调用 BCryptDestroyHash 函数来销毁哈希对象。

总体而言,BCryptFinishHash 是哈希计算过程中的一个关键步骤,用于获取最终的哈希值。


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