如何计算C ++中给定十六进制数据的二进制SHA256哈希值?

时间:2013-02-27 10:57:04

标签: c++

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

1 个答案:

答案 0 :(得分:0)

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

“String”哈希不能转换为“二进制”哈希,因为实际上它是具有不同二进制数据的二进制哈希值。