【发布时间】:2013-03-31 16:50:32
【问题描述】:
我正在尝试使用 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);
}
我真的不知道我做错了什么,因为我可以很好地加密它。我要解密的文件是 11 kb。
【问题讨论】:
-
你确定这是你得到的例外吗?当您尝试设置密钥时,您应该得到一个,因为它的长度无效。
-
@Lee 是的,我确信那是我得到的例外,那不是我真正的钥匙。真正的密钥要长得多,我用另一个密钥对其进行了测试,然后它出现了一个实际上与密钥有关的错误。
-
请添加您的加密代码。
标签: c# encryption rijndael