当前位置: 首页>>代码示例>>C++>>正文


C++ CryptoPP::ArraySource方法代码示例

本文整理汇总了C++中CryptoPP::ArraySource方法的典型用法代码示例。如果您正苦于以下问题:C++ CryptoPP::ArraySource方法的具体用法?C++ CryptoPP::ArraySource怎么用?C++ CryptoPP::ArraySource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CryptoPP的用法示例。


在下文中一共展示了CryptoPP::ArraySource方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: encrypt

    QByteArray encrypt(QByteArray in) {
        byte iv[CryptoPP::AES::BLOCKSIZE];
        rnd.GenerateBlock(iv, CryptoPP::AES::BLOCKSIZE);
        QByteArray out = QByteArray((char*)iv, CryptoPP::AES::BLOCKSIZE);
        int inputSize = in.size();
        string cipher;

        CBC_Mode<AES>::Encryption aes(keyByte(), keySize(), iv);
        ArraySource((byte *)in.data(), inputSize, true, new StreamTransformationFilter(aes, new StringSink(cipher)));

        QByteArray encryptedBytes = QByteArray(cipher.c_str(), cipher.size());
        out.append(encryptedBytes);
        return out;
    }
开发者ID:CaptEmulation,项目名称:encrypted-text-editor,代码行数:14,代码来源:cryptoaes.cpp

示例2: decrypt

    QByteArray decrypt(QByteArray in) {
        QByteArray iv = in.left(AES::BLOCKSIZE);
        in.remove(0, AES::BLOCKSIZE);
        string decrypted;
        QByteArray result;

        try {
            CBC_Mode<AES>::Decryption aes_dec;
            aes_dec.SetKeyWithIV((byte *)key().data(), keySize(), (byte *)iv.data());
            ArraySource((byte *)in.data(), in.size(), true,
                        new StreamTransformationFilter(aes_dec,
                                                   new StringSink(decrypted)));

            result = QByteArray(decrypted.c_str(), in.size());
        } catch (CryptoPP::Exception err) {
            result = "Failed to decrypt";
            qDebug() << QString(err.GetWhat().c_str());
        }

        return result;
    }
开发者ID:CaptEmulation,项目名称:encrypted-text-editor,代码行数:21,代码来源:cryptoaes.cpp


注:本文中的CryptoPP::ArraySource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。