错误示例
BIO_set_cipher(baes, EVP_aes_128_cbc(),(unsigned char*)key.c_str(), (unsigned char*)iv.c_str(), 1);
key和IV的长度不是有字符串的结尾来决定的,而是使用EVP_aes_128_cbc()算法的默认key和IV长度,传入的字符串长度不够会使用字符串后面内存(长度不够时要自己先补0在传入),存入的字符串超长部分会被截断。
参考:
https://liwugang.github.io/2019/04/21/openssl_decrypt_fail.html