Advertisement
Mihao

filedecrypt

Oct 12th, 2021
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. private void FileDecrypt(string inputFileName, string outputFileName, string password)
  2. {
  3. byte[] passwords = Encoding.UTF8.GetBytes(password);
  4. byte[] salt = new byte[32];
  5. // odczytywanie pliku bajt po bajcie
  6. using (FileStream fsCrypt = new FileStream(inputFileName, FileMode.Open))
  7. {
  8. fsCrypt.Read(salt, 0, salt.Length);
  9. RijndaelManaged AES = new RijndaelManaged();
  10. AES.KeySize = 256;
  11. AES.BlockSize = 128;
  12. AES.Padding = PaddingMode.PKCS7;
  13. var key = new Rfc2898DeriveBytes(password, salt, 50000);
  14. AES.Key = key.GetBytes(AES.KeySize / 8);
  15. AES.IV = key.GetBytes(AES.BlockSize / 8);
  16. AES.Mode = CipherMode.CFB;
  17. // CryptoStream odczytuje dane zaszyfrowane za pomocą AES-a
  18. using (CryptoStream cs = new CryptoStream(fsCrypt, AES.CreateDecryptor(),
  19.  
  20. CryptoStreamMode.Read))
  21. {
  22. using (FileStream fso = new FileStream(outputFileName, FileMode.Create))
  23. {
  24. // Bufor na plik ~1 Megabajt ( większego pliku nie przyjmie), można
  25.  
  26. zwiększyć
  27.  
  28. byte[] buffer = new byte[1048576];
  29. int read;
  30. // przepisywanie zaszyfrowanego pliku do odszyfrowanego
  31. while ((read = cs.Read(buffer, 0, buffer.Length)) > 0)
  32. {
  33. fso.Write(buffer, 0, read);
  34. }
  35. }
  36. }
  37. }
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement