使用 OpenSSL 库在 C++ 中生成 SHA 哈希

2022-01-10 00:00:00 cryptography c++

如何使用 OpenSSL 库生成 SHA1 或 SHA2 哈希?

How can I generate SHA1 or SHA2 hashes using the OpenSSL libarary?

我搜索了谷歌,找不到任何函数或示例代码.

I searched google and could not find any function or example code.

推荐答案

从命令行,很简单:

printf "compute sha1" | openssl sha1

你可以像这样调用这个库:

You can invoke the library like this:

#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>

int main()
{
    unsigned char ibuf[] = "compute sha1";
    unsigned char obuf[20];

    SHA1(ibuf, strlen(ibuf), obuf);

    int i;
    for (i = 0; i < 20; i++) {
        printf("%02x ", obuf[i]);
    }
    printf("
");

    return 0;
}

相关文章