关闭密码流时,C#中的DES解密错误“错误数据”
|
我尝试解密一个加密的字节数组(用K1加密和用K2解密)。当Visual Studio尝试关闭我的加密流时,抛出异常“ BAD DATA”
这是我的DES解密代码段
public Byte[] Decrypt(Byte[] cipherData, Byte[] key, Byte[] iv)
{
MemoryStream ms = new MemoryStream();
DES mDES = DES.Create();
mDES.Key = key;
mDES.IV = iv;
mDES.Padding = PaddingMode.PKCS7;
CryptoStream cs = new CryptoStream(ms, mDES.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(cipherData, 0, cipherData.Length);
cs.Close();
Byte[] decryptedData = ms.ToArray();
return decryptedData;
}
初始向量与加密相同。我不知道为什么会发生此错误。
添加:
根据Greg B的建议,我在此处发布了我的加密代码段。加密的输出是解密的输入(两个不同的密钥)
public Byte[] Decrypt(Byte[] cipherData, Byte[] key, Byte[] iv)
{
MemoryStream ms = new MemoryStream();
DES mDES = DES.Create();
mDES.Key = key;
mDES.IV = iv;
mDES.Padding = PaddingMode.PKCS7;
CryptoStream cs = new CryptoStream(ms, mDES.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(cipherData, 0, cipherData.Length);
cs.Close();
Byte[] decryptedData = ms.ToArray();
return decryptedData;
}
没有找到相关结果
已邀请:
1 个回复
粟痢凰副