我有這樣的代碼,試圖解密: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