我正在尝试使用OpenSSL进行AES加密/解密。代码如下:
// Buffers
unsigned char encryptedbuffer[1024];
unsigned char outbuffer[1024];
unsigned char key[128/8];
memset(key, 0, sizeof(key));
AES_KEY enc;
AES_KEY dec;
AES_set_encrypt_key(key, 128, &enc);
AES_set_decrypt_key(key, 128, &dec);
unsigned char text[] = "Hello World";
cout << text << endl;
AES_encrypt(text,encryptedbuffer,&enc);
AES_decrypt(encryptedbuffer,outbuffer,&dec);
cout << outbuffer << endl;
在编译时程序崩溃,只给出程序停止工作的Windows消息。到目前为止,我发现它发生在AES_set_encrypt_key(key, 128, &enc);
的调用上
我有什么想法吗?
我在Windows上使用eclipse(MinGW)并安装了OpenSSL 1.0.1i。
编辑: 我通过转到
将OpenSSL lib链接到EclipsProject >> Properties >> C/C++ Build >> Settings
MinGW C++ Linker
到Libraries
Libraries (-l)
下,我包括libeay32
和ssleay32
Library search path (-L)
下我将路径放到OpenSSL lib文件(C:\OpenSSL-Win64\lib
)我已经在其他论坛中看到很多建议都提到了libs ssl和crypto。然而,这些不是我的OpenSSL安装(Windows)的一部分。