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