سلام
پرژه شمارو درست کردم اما یه جای کار اشکال داشت بعد دیدم فقط نکته های کوچیک رو جا انداختید اما این نکته مربوط به استریم ریدر بود که لازم نبود و همچنین توی رمزنگاری از استریم رایتر هم استفاده کرده بودید
برنامه اجرا شد ولی جواب نداد علت هم اینه که پای پسورد وسطه یعنی رمزگذاری عادی نیست این پسورد اگه درست فراخونی نشه تو هر دو مشکل بوجود میاد این عینه متد شماست اما اون نیست (مثال درست)
private byte[] Decryprt(byte[] FileToDecrypt,byte[] paswordSet)
{
byte[] byteToEncrypt = null;
byte[] SaltByte = new byte[] { 1,2,3,4,5,6,7,8,9};
using (MemoryStream MemS=new MemoryStream())
{
using (RijndaelManaged AESEncod=new RijndaelManaged())
{
AESEncod.BlockSize = 128;
AESEncod.KeySize = 256;
var key = new Rfc2898DeriveBytes(paswordSet,SaltByte,1000);
AESEncod.IV = key.GetBytes(AESEncod.BlockSize/8);
AESEncod.Key = key.GetBytes(AESEncod.KeySize/8);
AESEncod.Mode = CipherMode.CBC;
AESEncod.Padding = PaddingMode.PKCS7;
using (var cStr=new CryptoStream(MemS,AESEncod.CreateDecryptor(),CryptoStreamMode.Write))
{
cStr.Write(FileToDecrypt,0,FileToDecrypt.Length);
cStr.Close();
}
byteToEncrypt = MemS.ToArray();
}
return byteToEncrypt;
}
}
از یه روش دیگه استفاده کردم
و یه فرم اضافه کردم اونجا حلش کردم
دانلود