- 右击项目——属性——配置属性——VC++目录。然后在”包含目录“中添加:openssl的include路径。”库目录“中添加openssl的bin路径。具体路劲名称请参考截图。
注意平台要和你运行的平台一致,这里是x64的平台。
具体添加,注意图中红色标识。后面的添加方式相同就不在介绍。
- 点击C/C++——常规——附加包含目录。添加openssl的include文件路劲。具体操作如图。
- 点击链接器——常规——附加库目录。在附加库添加openssl’的lib文件路径。具体细节如图
- 使用的头文件
#include#include #include #include "openssl/evp.h" //两个调用链接器的 #pragma comment(lib,"libssl.lib") #pragma comment(lib,"libcrypto.lib") //在openssl3.0中对称加密的许多低级函数都被弃用了,使用以前的函数如DES_random_key(),DES_set_key_checked()等为不安全函数,会报错,该语句可防止报错。 #pragma warning(disable:4996) #include using namespace std;
#pragma warning(disable:4996)的理解参考:Visual Studio 编译时出现 error C4996 解决方法 (runoob.com)
- 两个测试例子代码
#include#include #include #include "openssl/evp.h" #pragma comment(lib,"libssl.lib") #pragma comment(lib,"libcrypto.lib") #include #pragma warning(disable:4996) using namespace std; int test1() { DES_cblock key; DES_random_key(&key); DES_key_schedule schedule; DES_set_key_checked(&key, &schedule); const_DES_cblock input = "hehehe"; DES_cblock output; cout<< "test1"<<"明文:"<< input< cout << "test2" << endl; const char* keystring = "this is key"; DES_cblock key; DES_key_schedule key_schedule; //生成一个key DES_string_to_key(keystring, &key); if (DES_set_key_checked(&key, &key_schedule) != 0) { cout << "密钥生成失败!"; return -1; } //需要加密的字符串 unsigned char input[] = "这是需要加密的字符串"; cout << "明文:" << input< test1(); test2(); return 0; }
- 运行结果



