如何计算二进制SHA256哈希为给定的十六进制数据在c++

How to calculate binary SHA256 hash for given hex data in C++?

本文关键字:十六进制 数据 c++ 哈希 何计算 计算 SHA256 二进制      更新时间:2023-10-16

我想使用Crypto++为给定的"十六进制数据"(二进制)生成SHA256签名。有人能分享一下代码吗?我发现了一个类似的问题"谁能给我一个用Crypto++在c++中生成SHA256哈希的工作示例,……",但它使用"string"作为输入&返回字符串。我还想知道"123"的字符串哈希是否可以转换为"123"的二进制哈希(我的意思是任何输入)。"123"只是一个例子)?(我使用http://www.fileformat.info/tool/hash.htm检查123的字符串哈希值为a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3和123的二进制哈希值为3d73c0c831c942c1996ca667b639970e571d58c6b7b996e4082a6d091be0b956)

Crypto++哈希函数使用字节数组。这就是为什么你可以哈希字符串-因为它是字节数组。因此,您可以处理字节数组,然后应用相同的算法将结果转换为字符串。

"字符串"哈希不能转换为"二进制"哈希,因为实际上它是不同二进制数据的二进制哈希。