hej,
probuje zaszyfrować plik AES'em i wrzucić go to MemoryStream, a następnie wrzucić do pliku i niestety gubi kilka bajtów, np: dla pliku 133bajty po zaszyfrowaniu powinien mieć 144, a ma 128bajty, problem występuje wyłącznie gdy używam MemoryStream. jakoś nie mogę znaleźć problemu?
Console.WriteLine("Podaj haslo 8 znakow");
//pobieramy haslo 8 znakow
string p = Console.ReadLine();
UnicodeEncoding ue = new UnicodeEncoding();
//zamieniamy haslo na tablice byt'ow
byte[] key = ue.GetBytes(p);
////wyjsciowey
MemoryStream ms = new MemoryStream();
RijndaelManaged RMCrypto = new RijndaelManaged();
CryptoStream cs = new CryptoStream(ms,
RMCrypto.CreateEncryptor(key, key),
CryptoStreamMode.Write);
//wejsciowy
FileStream gs = new FileStream("wejscie.txt", FileMode.Open);
//owijamy czytanie
BinaryWriter bw = new BinaryWriter(cs);
//owijamy wejsciowy
BinaryReader br = new BinaryReader(gs);
//ilosc bajtow:
int ilosc = 1024;
byte[] buffer = new Byte[ilosc];
int czytaneBajty;
while ((czytaneBajty = br.Read(buffer, 0, ilosc)) > 0)
{
bw.Write(buffer, 0, czytaneBajty);
}
FileStream wyj = new FileStream("plik12.txt", FileMode.Create);
byte[] q = ms.GetBuffer();
ms.WriteTo(wyj);
wyj.Close();
br.Close();
gs.Close();
cs.Close();
ms.Close();
pozdrawiam