首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Rijndael CryptographicException“要加密的数据长度无效。”

C# Rijndael CryptographicException“要加密的数据长度无效。”
EN

Stack Overflow用户
提问于 2013-04-01 00:50:33
回答 1查看 3.1K关注 0票数 2

我正在尝试使用rijndael算法对文件进行加密和解密,但我一直收到错误消息“要加密的数据的长度无效”。我可以加密这个文件,但我不能解密它。这是我的解密函数;

代码语言:javascript
复制
    public static byte[] Decrypt(byte[] toEncryptArray)
    {
        byte[] keyArray = UTF8Encoding.UTF8.GetBytes("-key-");
        RijndaelManaged rDel = new RijndaelManaged();
        rDel.Key = keyArray;
        rDel.Padding = PaddingMode.PKCS7;
        ICryptoTransform cTransform = rDel.CreateDecryptor();
        return cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
    }

老实说,我不知道我做错了什么,因为我可以很好地加密它。我要解密的文件大小是11kb。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-01 03:15:08

您应该使用CryptoStream对象,该对象将自动调用正确的ICryptoTransform.TransformFinalBlockICryptoTransform.TransformBlock方法。

您尚未发布加密代码,但请检查填充模式是否相同(即PaddingMode.PKCS7)以及初始向量是否设置为相同的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15731911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档