我有这样的代码,试图解密:AES解密和“无效的PKCS#7块填充”
byte key[AES::DEFAULT_KEYLENGTH];
string key_s = "essasenhaehfraca";
for (int i = 0; i < key_s.size(); i++)
key[i] = (byte) key_s[i];
string ciphertext = "A506A19333F306AC2C62CBE931963AE7DFCFFA940360A40FFD5DC69B9C2E53AD"
string decryptedtext;
try
{
ECB_Mode<AES>::Decryption decryptor;
decryptor.SetKey(key, sizeof(key));
CryptoPP::StringSource(ciphertext, true,
new CryptoPP::StreamTransformationFilter(decryptor,
new CryptoPP::StringSink(decryptedtext)
)
);
}
catch(const CryptoPP::Exception& e)
{
cerr << e.what() << endl;
system("pause");
exit(1);
}
return 0;
当我执行它,我得到的异常 StreamTransformationFilter: invalid pkcs #7 block padding found
。 我搜索了但没有找到任何东西。有人知道我为什么得到这个错误?我在互联网上找到的每个例子都是这样,没有一个人提到这个错误。
这可以解决问题。谢谢。 – user2748531