【问题标题】:How to switch from SHA to SHA-1 in openssl如何在 openssl 中从 SHA 切换到 SHA-1
【发布时间】:2019-01-07 15:56:20
【问题描述】:

在我的应用中,之前开发者使用过openssl 1.0.1e版[#include openssl/sha.h]并使用过该功能

unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md);

现在我需要将 openssl 版本升级到 1.1.1,但是使用新版本编译时,它在 SHA 函数调用时显示错误。

然后,我尝试用它编译的 SHA1() 替换 SHA(),但是 SHA() 和 SHA1() 的输出不同,如何在新版本中实现与 SHA() 相同的加密哈希函数输出.

【问题讨论】:

  • 错误是什么?显示您的代码,我们需要minimal reproducible example
  • 我认为(looking at the header file) SHA(...) 可能是SHA0 的一个实现,它与SHA1 略有不同,所以(如果我是对的)我希望它们产生不同的输出。
  • 由于 SHA 和 SHA1 是不同的算法,所以无法实现与 SHA1 相同的输出。

标签: c++ openssl


【解决方案1】:

OpenSSL 在 1.1.0 中删除了对 SHA-0 的支持,请参阅 https://www.openssl.org/blog/blog/2015/07/28/code-cleanup/

您不应该将 SHA-0 用于任何事情,因为它已完全损坏:https://en.wikipedia.org/wiki/SHA-1#SHA-0

【讨论】:

    猜你喜欢
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2012-04-10
    • 2014-06-13
    • 2018-06-27
    相关资源
    最近更新 更多