C++ 是否有sha256的头文件?
我正在使用linux,我只需要一个现有的sha-256头;我试过很多代码块,但都不起作用C++ 是否有sha256的头文件?,c++,linux,header,cryptography,sha256,C++,Linux,Header,Cryptography,Sha256,我正在使用linux,我只需要一个现有的sha-256头;我试过很多代码块,但都不起作用 #include <iostream> #include "sha256.h" using namespace std; int main(int argc, char *argv[]) { string input = "abc"; string output1 = sha256(input); cout << "sha256('"<< i
#include <iostream>
#include "sha256.h"
using namespace std;
int main(int argc, char *argv[])
{
string input = "abc";
string output1 = sha256(input);
cout << "sha256('"<< input << "'):" << output1 << endl;
return 0;
}
#包括
#包括“sha256.h”
使用名称空间std;
int main(int argc,char*argv[])
{
字符串输入=“abc”;
字符串输出1=sha256(输入);
不能不在STL中。您可以使用您选择的库(例如OpenSSL):
#包括
void foo()
{
SHA256_CTX SHA256;
SHA256_Init(&SHA256);
SHA256_更新(&SHA256,str.c_str(),str.size());
SHA256_Final(散列和SHA256);
}
我猜你的例子来自。如果是这样的话,你可以简单地从网站复制/粘贴文件,然后用你的项目构建它们。我只是个初学者,所以我再次对此表示歉意。openssl/sha.h:没有这样的文件。我该怎么办?在linux上你必须安装openssl的开发包。在Ubuntu上就是这样sudo apt get install libssl dev
。这将安装到/usr/include
中,然后可以被编译器找到。不要忘记链接ssl库。这是您使用的构建环境的问题……因此脱离主题。@Niall这不是我的母语,所以我犯了一些错误,谢谢您修复它。
#include <openssl/sha.h>
void foo()
{
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, str.c_str(), str.size());
SHA256_Final(hash, &sha256);
}