先配置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;
- }
经与其他工具进行比对, 发现结果完全一致