Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C“Rijndael加密例外”;要加密的数据长度无效。”;_C#_Encryption_Rijndael - Fatal编程技术网

C# C“Rijndael加密例外”;要加密的数据长度无效。”;

C# C“Rijndael加密例外”;要加密的数据长度无效。”;,c#,encryption,rijndael,C#,Encryption,Rijndael,我试图用rijndael算法加密和解密一个文件,但是我得到了错误“要加密的数据长度无效”。我可以加密这个文件,但不能解密。这是我的解密函数 public static byte[] Decrypt(byte[] toEncryptArray) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes("-key-"); RijndaelManaged rDel = new RijndaelManaged();

我试图用rijndael算法加密和解密一个文件,但是我得到了错误“要加密的数据长度无效”。我可以加密这个文件,但不能解密。这是我的解密函数

    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。

您应该使用该对象,该对象将自动调用正确的
ICRyptTransform.TransformFinalBlock
ICRyptTransform.TransformBlock
方法


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

您确定这是您遇到的异常吗?当你试图设置密钥时,你应该得到一个,因为它的长度无效。@Lee是的,我确信这是我得到的例外,那不是我真正的密钥。真正的密钥要长得多,我已经用另一个密钥测试了它,然后它出现了一个错误,事实上与密钥有关。请添加您的加密代码。可能是重复的