Problème de cryptage/décryptage DES
Bonjour
Je cherche à crypter et décrypter un flux en binaire. Le cryptage se passe visiblement sans problème mais lorsque je cherche à décrypter j'ai une erreur "Données incorrectes". Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public static Stream EncryptStream(Stream streamIn)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
List<byte[]> secure = GenerateAlgotihmInputs();
byte[] key = secure[0];
byte[] iv = secure[1];
ICryptoTransform desencrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(ms, desencrypt, CryptoStreamMode.Write);
byte[] bytearrayinput = new byte[streamIn.Length - 1];
streamIn.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
return ms;
}
public static Stream DecryptStream(Stream streamIn)
{
MemoryStream ms = new MemoryStream();
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
List<byte[]> secure = GenerateAlgotihmInputs();
byte[] key = secure[0];
byte[] iv = secure[1];
ICryptoTransform desdecrypt = DES.CreateDecryptor();
CryptoStream cryptostreamDecr = new CryptoStream(streamIn, desdecrypt, CryptoStreamMode.Read);
StreamWriter fsDecrypted = new StreamWriter(ms);
fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
fsDecrypted.Flush();
fsDecrypted.Close();
return ms;
} |
Si quelqu'un a une idée car là je sèche :p
Merci