錯誤示例
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