Я использую следующую функцию для шифрования массива байтов, содержащего непечатные байты с использованием RSA. Однако эта функция возвращает строковое значение и пропускает байты, которые нельзя распечатать.
string RSAencrypt(RSA::PublicKey publicKey,string plain) {
string cipher;
try {
AutoSeededRandomPool rng;
RSAES_OAEP_SHA_Encryptor e(publicKey);
StringSource ss1(plain, true,
new PK_EncryptorFilter(rng, e,
new StringSink(cipher)
) // PK_EncryptorFilter
); // StringSource
}
catch (CryptoPP::Exception & e)
{
cerr << "Caught Exception..." << endl;
cerr << e.what() << endl;
}
return cipher;
}
Как я могу вместо этого вернуть байтовый массив?