使用BF_cfb64_encrypt时EXEC_BAD_ACCESS

时间:2016-07-18 09:12:05

标签: c++ encryption openssl blowfish

我想使用openssl加密/解密使用Blowfish通过网络发送的文件或数据。我使用theese函数:https://www.openssl.org/docs/manmaster/crypto/BF_options.html

然而,我无法让它正常工作,我在进入' BF_cfb64_encrypt'

时得到了EXEC_BAD_ACCESS

' BF_set_key'确实没有问题。我想我做错了变量..

这是我的一些代码:

BF_KEY key;

const unsigned char *bf_key_data, *enc_data = new unsigned char[64];
unsigned char *out_data = new unsigned char[64], *ivec = new unsigned char[8];

long curr_length = 32;

int *num = 0;

bf_key_data = (const unsigned char *)"mysecretkey";

BF_set_key(&key, strlen("mysecretkey"), bf_key_data);

enc_data = (const unsigned char *)data.c_str(); // read the data that i want to encrypt from a std::string
ivec[0] = 'f';
ivec[1] = 'f';
ivec[2] = 'f';
ivec[3] = 'f';
ivec[4] = 'f';
ivec[5] = 'f';
ivec[6] = 'f';
ivec[7] = 'f';

BF_cfb64_encrypt(enc_data, out_data, curr_length, &key, ivec, num, BF_DECRYPT); // EXEC_BAD_ACCESS

我知道这可以使用其他功能完成,但我真的想使用那些功能。有人能指出我正确的方向吗?

0 个答案:

没有答案