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条回答

    报告相同问题?

    悬赏问题

    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘