问题描述
代码部分:
public static string Decrypt(string text)
{
// AesCryptoServiceProvider
using (AesCryptoServiceProvider aes = new AesCryptoServiceProvider())
{
aes.BlockSize = 128;
aes.KeySize = 128;
aes.IV = Encoding.UTF8.GetBytes(AesIV);
aes.Key = Encoding.UTF8.GetBytes(AesKey);
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
// Convert Base64 strings to byte array
byte[] src = System.Convert.FromBase64String(text);
// decryption
using (ICryptoTransform decrypt = aes.CreateDecryptor())
{
byte[] dest = decrypt.TransformFinalBlock(src,src.Length);
return Encoding.Unicode.GetString(dest);
}
}
}
在调用AES的解密方法时遇到异常,任何人对此都有想法,这是间歇性的问题。
ERROR Exception Stack Trace: System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.
at System.Security.Cryptography.CapiSymmetricAlgorithm.DepadBlock(Byte[] block,Int32 offset,Int32 count)
at System.Security.Cryptography.CapiSymmetricAlgorithm.TransformFinalBlock(Byte[] inputBuffer,Int32 inputOffset,Int32 inputCount)
at PIMCO.Web.BAL.Utility.SecurityHelper.Decrypt(String text) in
at PIMCO.Web.Core.handlers.displayDocument.ProcessRequest(HttpContext context) in
我浏览了各种文章或论坛,但找不到具体答案。此错误会增加错误日志计数。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)