C++ 使用OPENSSL AES DES 加密和JAVA 对接注意事项

https://blog.csdn.net/powlliu1/article/details/104821152

JAVA 采用  AES/CBC/PKCS7Padding  和 DES/CBC/PKCS5Padding  模式,C++处理的的机制都一样,不足16字节需填充16-len个的16-len,如9个字节则需补充7个7;如果正好是16,则补充16个16。解密后补充的字节可以收用如下示例代码去掉:

const char* p =  clearText.c_str();
    int k = 0;
    
    while(*p){

        if((int)*p <= 16){
            break;
        }
        k++;
        p++;

    }

    clearText = string(clearText.c_str(),k);

    使用C++BUILDER 2010自带BASE64编码比较复杂,使用OPENSSL 的BASE64 简化。

posted on 2020-11-23 23:19  lydstory  阅读(376)  评论(0)    收藏  举报

导航