填充无效,无法被移除

枫之幻月 2018-12-24 03:53:24
/// <summary>
/// AES加密
/// </summary>
/// <param name="toEncrypt"></param>
/// <returns></returns>
public static string Encrypt(string toEncrypt)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

RijndaelManaged rDel = new RijndaelManaged();//using System.Security.Cryptography;
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;//using System.Security.Cryptography;
rDel.Padding = PaddingMode.PKCS7;//using System.Security.Cryptography;

ICryptoTransform cTransform = rDel.CreateEncryptor();//using System.Security.Cryptography;
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}

/// <summary>
/// AES解密
/// </summary>
/// <param name="toDecrypt"></param>
/// <returns></returns>
public static string Decrypt(string toDecrypt)
{
byte[] keyArray = UTF8Encoding.UTF8.GetBytes("12345678901234567890123456789012");
byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);

RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = rDel.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

return UTF8Encoding.UTF8.GetString(resultArray);
}

解密的时候在倒数第二行byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);处报“填充无效,无法被移除”的错
...全文
510 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EdsionWang 2018-12-27
  • 打赏
  • 举报
回复
引用 3 楼 枫之幻月 的回复:
[quote=引用 2 楼 EdsionWang 的回复:] 测过你的代码。把加密后的base64内容传到解密函数中,能准确解密出来的
只有几台电脑会有这个错,大多数还是正常的,用的全是360安全浏览器[/quote] 加点日志,看看异常的时候接收到的密文内容是不是真实加密出的内容。
  • 打赏
  • 举报
回复
https://blog.csdn.net/starfd/article/details/51908758 你可以记录异常的详细数据好测试
枫之幻月 2018-12-24
  • 打赏
  • 举报
回复
引用 2 楼 EdsionWang 的回复:
测过你的代码。把加密后的base64内容传到解密函数中,能准确解密出来的

只有几台电脑会有这个错,大多数还是正常的,用的全是360安全浏览器
EdsionWang 2018-12-24
  • 打赏
  • 举报
回复
测过你的代码。把加密后的base64内容传到解密函数中,能准确解密出来的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧