OpenSSL AES_set_encrypt_key使C ++程序崩溃

时间:2014-09-10 13:20:02

标签: c++ eclipse openssl mingw aes

我正在尝试使用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链接到Eclips
  1. Project >> Properties >> C/C++ Build >> Settings
  2. MinGW C++ LinkerLibraries
  3. Libraries (-l)下,我包括libeay32ssleay32
  4. Library search path (-L)下我将路径放到OpenSSL lib文件(C:\OpenSSL-Win64\lib
  5. 我已经在其他论坛中看到很多建议都提到了libs ssl和crypto。然而,这些不是我的OpenSSL安装(Windows)的一部分。

0 个答案:

没有答案