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;
}
浙公网安备 33010602011771号