背景
如题
环境
openssl 1.1.1l
c++
centos7.9
代码
/**
思路:填充方式自己写,不需要使用库提供的,然后加密时选择不填充的方式加密
关键代码
*/
int padding_result = RSA_padding_add_PKCS1_OAEP_mgf1(buf, padding_len, (unsigned char*)pSrcData, flen, NULL, 0, EVP_sha256(), EVP_sha256());
int sicryptlen = RSA_public_encrypt(padding_len, buf, (unsigned char*)pDestData, rsa, RSA_NO_PADDING);
根源
具体原因:请查看这里
大概意思就是:
源代码库里面默认设置的填充方式就是0,下图红色框内最后两个参数。