刚刚开始学习OpenSSL
最近使用其Base64编解码接口函数时发现一点问题
int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n);
int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n);
主要问题接口是EVP_DecodeBlock 经过解码操作后返回值为解码结果的数据长度,但是该长度有时正确 有时错误
当我编码数据为A时,解码数据长度却为3,愁死了
是不是调用的方法不正确,多看一下官方文档
EVP_DecodeBlock需要自己去除pad长度,A的话一个字节,会补两个==,需要-2,可以看下openssl中文手册。相信楼主早就找到答案了,这里给后面搜索的同学一个提示。