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