对称加密 出现错误 填充无效,无法被移除 一种解决方法

原先的代码使用时出现了“填充无效,无法被移除”的错误。最后花了很长时间仔细调试发现出现的一个函数违没有执行导致的错误。

也就是:

RijndaelManaged rDel = new RijndaelManaged(); //这是我用的AES加密算法

 

//下面的属性设置在加密解密时不一致出现“填充无效,无法被移除”的错误。但是这只是其中的一个原因。

 

rDel.Key = resultArray;
rDel.BlockSize = 128;
rDel.Mode = CipherMode.ECB;
rDel.Padding = PaddingMode.Zeros;

//结束,我没有上面所有的属性都测试,发生错误的时候使用设置的加密,没有设置的解密出现错误


      加密          

        public static byte[] Encrypt(byte[] toEncryptArray)
        {
            ICryptoTransform cTransform = rDel.CreateEncryptor();
            return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
        }

解密

        public static byte[] Decrypt(byte[] toDecryptArray)
        {
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            return cTransform.TransformFinalBlock(toDecryptArray, 0, toDecryptArray.Length);
        }

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值