说明一下, 如果要运行程序, 请按照之前的博文配置openssl, 我就不再赘述了, 直接给出代码:
#include <iostream>
#include <openssl/sha.h> // 如果你直接拷贝我的程序运行, 那注定找不到sha.h
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib") // 在本程序中, 可以注释掉这句
using namespace std;
int main()
{
unsigned char md[33] = {0};
SHA256((const unsigned char *)"hello", strlen("hello"), md);
int i = 0;
char buf[65] = {0};
char tmp[3] = {0};
for(i = 0; i < 32; i++ )
{
sprintf(tmp,"%02X", md[i]);
strcat(buf, tmp);
}
cout << buf << endl;
return 0;
}
经与其他工具进行比对, 发现结果完全一致。