Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void FileDecrypt(string inputFileName, string outputFileName, string password)
- {
- RijndaelManaged AES = ConfigureEncryption(password, salt);
- // odczytywanie pliku bajt po bajcie
- using (FileStream plikZaszyfrowany = new FileStream(inputFileName, FileMode.Open))
- {
- // odczytanie soli którą zapisaliśmy w pliku (jest to istotne bo gdy sól by się zmieniła to pliku nie odcyztamy)
- plikZaszyfrowany.Read(salt, 0, salt.Length);
- // CryptoStream odczytuje dane zaszyfrowane za pomocą AES-a
- using (CryptoStream odszyfrowywanie = new CryptoStream(plikZaszyfrowany, AES.CreateDecryptor(), CryptoStreamMode.Read))
- {
- using (FileStream plikNieZaszyfrowany = new FileStream(outputFileName, FileMode.Create))
- {
- // Bufor na plik ~1 Megabajt ( większego pliku nie przyjmie), można zwiększyć
- byte[] buffer = new byte[1048576];
- int read;
- // przepisywanie zaszyfrowanego pliku do odszyfrowanego
- while ((read = odszyfrowywanie.Read(buffer, 0, buffer.Length)) > 0)
- {
- plikNieZaszyfrowany.Write(buffer, 0, read);
- }
- }
- }
- }
- }
- private void btnDecrypt_Click(object sender, EventArgs e)
- {
- try
- {
- FileDecrypt(txtFilePath.Text, txtFilePath.Text.Replace(".aes", ""), txtPassword.Text);
- MessageBox.Show("Decryption Done!");
- }
- catch
- {
- MessageBox.Show("Ups... Coś poszło nie tak");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement