crypto++ 使用Base64編碼解碼數組


使用Crypto++庫中的Base64Encoder、Base64Decoder編碼解碼數組。代碼如下:

 

//
// Created by gj on 12/24/19.
//
#include <iostream>
#include <crypto++/base64.h>
#include <crypto++/sha.h>
#include <crypto++/filters.h>
#include <cryptopp/base64.h>

using namespace std;
using namespace CryptoPP;

int main() {
    // "CBC Mode Test", without '\0'
    unsigned char plainText[] = {67, 66, 67, 32, 77, 111, 100, 101, 32, 84, 101, 115, 116};

    string encoded;

    Base64Encoder encoder;
    encoder.Put(plainText, sizeof(plainText));
    encoder.MessageEnd();

    word64 size = encoder.MaxRetrievable();
    if (size) {
        encoded.resize(size);
        encoder.Get((byte *) &encoded[0], encoded.size());
    }

    cout << encoded << endl;

    string decoded;
    Base64Decoder decoder;
    decoder.Put((byte *) encoded.data(), encoded.size());
    decoder.MessageEnd();

    size = decoder.MaxRetrievable();
    if (size && size <= SIZE_MAX) {
        decoded.resize(size);
        decoder.Get((byte *) &decoded[0], decoded.size());
    }
    cout << decoded << endl;

    return 0;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM