Ich versuche, eine Zeichenfolge zu entschlüsseln, die mit AES in CBC_Mode chiffriert wird. Ich sehe korrekte Daten im Ergebnis, aber es ist durch Füllbytes verunreinigt. Mein erster Versuch war einen Redirector zu verwenden, wie in this Thread vorgeschlagen:Entschlüsselung eines std :: string hat zusätzliche Füllbytes?
std::string result_;
CryptoPP::CBC_Mode<CryptoPP::AES>::Decryption decrypt_;
...
void decrypt(std::string cipheredText)
{
try
{
CryptoPP::MeterFilter meter(new CryptoPP::StringSink(result_));
CryptoPP::StringSource pipeline(
cipheredText,
true,
new CryptoPP::StreamTransformationFilter(
decrypt_,
new CryptoPP::Redirector(meter),
CryptoPP::StreamTransformationFilter::PKCS_PADDING));
}
catch (CryptoPP::Exception&)
{ }
}
Aber ich immer noch dieses Paddingbytes bekommen. Was mache ich falsch? Kann mir bitte jemand helfen?