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

Generate SHA hash in C++ using OpenSSL library(使用 OpenSSL 库在 C++ 中生成 SHA 哈希)
本文介绍了使用 OpenSSL 库在 C++ 中生成 SHA 哈希的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 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;
}

这篇关于使用 OpenSSL 库在 C++ 中生成 SHA 哈希的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Rising edge interrupt triggering multiple times on STM32 Nucleo(在STM32 Nucleo上多次触发上升沿中断)
How to use va_list correctly in a sequence of wrapper functions calls?(如何在一系列包装函数调用中正确使用 va_list?)
OpenGL Perspective Projection Clipping Polygon with Vertex Outside Frustum = Wrong texture mapping?(OpenGL透视投影裁剪多边形,顶点在视锥外=错误的纹理映射?)
How does one properly deserialize a byte array back into an object in C++?(如何正确地将字节数组反序列化回 C++ 中的对象?)
What free tiniest flash file system could you advice for embedded system?(您可以为嵌入式系统推荐什么免费的最小闪存文件系统?)
Volatile member variables vs. volatile object?(易失性成员变量与易失性对象?)