如何使用OpenSSL计算SHA512 / 224和SHA512 / 256哈希?

时间:2017-12-26 21:08:29

标签: c openssl cryptography sha sha512

以下是我如何计算C中的SHA512哈希值。

OrderByChild

现在,当我尝试将其转换为512 / t (512/224或512/256)时,它无法正常工作。我最初认为,为了计算512 / t散列,您只需将输出截断为 t 位,但在进一步阅读时,它不会截断输出,它也有不同的初始常数值。所以我试图找出支持OpenSSL的任何功能吗?到目前为止,我已经查看了文档和头文件,我无法在SHA或EVP下找到这样的方法。 OpenSSL甚至支持SHA512 / t 散列算法吗?它是否提供开箱即用的功能?任何指向这将有所帮助。

1 个答案:

答案 0 :(得分:0)

正如您所注意到的那样,那些截断的sha512哈希使用不同的初始化向量,可能是为了避免泄露部分实际的sha512哈希,如果它们只是字面上截断这些字节。

几个月前,OpenSSL主树中已经实现了对sha512_256的支持,很可能是在OpenSSL 1.1.1中。

检查更改日志: https://www.openssl.org/news/changelog.txt

或者Github上的提交: https://github.com/openssl/openssl/commit/4bed94f0c11ef63587c6b2edb03c3c438e221604

...因此,根据您所使用的平台,您可以在不久的将来使用这些新功能,就像您使用的sha512示例一样。