dongtuo0828 2016-07-21 20:38
浏览 220

一方面使用OpenSSL进行加密并使用CryptoPP进行解密的问题[AES-128]

I'm having some issues with encryption/decryption with different cipher suites.

On one hand, I am using PHP to encrypt a string:

base64_encode(openssl_encrypt($data, "AES-128-CBC", $password, OPENSSL_RAW_DATA, "0123456789abdefg"));

And on the other hand, I am decrypting it with CryptoPP:

std::string decrypted = decrypt(dl_notdecrypted, decryption_key, "0123456789abdefg");

The function "decrypt":

std::string decrypt(const std::string& str_in, const std::string& key, const std::string& iv)
{

    std::string str_out;
    CryptoPP::CBC_Mode<CryptoPP::AES>::Decryption decryption((byte*)key.c_str(), key.length(), (byte*)iv.c_str());
    CryptoPP::StringSource decryptor(str_in, true,
        new CryptoPP::Base64Decoder(
            new CryptoPP::StreamTransformationFilter(decryption,
                new CryptoPP::StringSink(str_out)
                )
            )
        );
    return str_out;
}

It fails with a "Unknown Exception". I am guessing this is a padding issue with OpenSSL, but I have no clue how I am supposed to fix this.

If there is any help available with this, that would be very nice.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥30 求一段fortran代码用IVF编译运行的结果
    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
    • ¥15 lammps拉伸应力应变曲线分析
    • ¥15 C++ 头文件/宏冲突问题解决
    • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
    • ¥50 安卓adb backup备份子用户应用数据失败
    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
    • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
    • ¥30 python代码,帮调试,帮帮忙吧
    • ¥15 #MATLAB仿真#车辆换道路径规划