我有 16 字节的 des 加密数据,我想解密问题是我的例程只解密前 8 个字节,对于第 9 个字节,它抛出异常 Bad Data 我的数据没有填充恰好 16 字节的数据这是我的代码
public byte[] Decrypt(byte[] data)
{
List<byte> resData = new List<byte>();
try
{
DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
byte[] bytes = StringToByteArray(_key);
MemoryStream memoryStream = new MemoryStream(data);
CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoProvider.CreateDecryptor(bytes, new byte[8]), CryptoStreamMode.Read);
cryptoProvider.Padding = PaddingMode.None;
cryptoProvider.Mode = CipherMode.ECB;
BinaryReader reader = new BinaryReader(cryptoStream);
for (int i = 0; i < data.Length; i++)
{
resData.Add(reader.ReadByte());
}
}
catch { }
return resData.ToArray();
}