相关疑难解决方法(0)

如何使用OpenSSL的SHA256功能

我正在编写一个程序来熟悉OpenSSL,libncurses和UDP网络.我决定使用OpenSSL的SHA256熟悉行业加密标准,但我遇到了让它运行的问题.我已将错误隔离到OpenSSL与已编译程序的链接.我正在研究64位的Ubuntu 12.10.我安装了libssl-dev软件包.

举个例子,C++ main.cpp:

#include <iostream>
#include <sstream>
#include <string>
#include <iomanip>
using namespace std;

#include <openssl/sha.h>

string sha256(const string str)
{
    unsigned char hash[SHA256_DIGEST_LENGTH];
    SHA256_CTX sha256;
    SHA256_Init(&sha256);
    SHA256_Update(&sha256, str.c_str(), str.size());
    SHA256_Final(hash, &sha256);
    stringstream ss;
    for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
    {
        ss << hex << setw(2) << setfill('0') << (int)hash[i];
    }
    return ss.str();
}

int main()
{

    cout << sha256("test") << endl;
    cout << sha256("test2") << endl;

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

我正在使用此处的SHA256()函数作为OpenSSL SHA256功能的包装器.

当我尝试使用以下g ++参数进行编译时,收到以下错误:

millinon@myhost:~/Programming/sha256$ …
Run Code Online (Sandbox Code Playgroud)

c++ gcc openssl sha256

12
推荐指数
1
解决办法
3万
查看次数

标签 统计

c++ ×1

gcc ×1

openssl ×1

sha256 ×1