public static void Encrypt(SymmetricAlgorithm provider, string readFile, string writeFile) { try { var buffer=new Span<byte>(new byte[4096]); FileStream fsWrite = new FileStream(writeFile, FileMode.Create); FileStream fsRead = new FileStream(readFile, FileMode.Open); ICryptoTransform transform = provider.CreateEncryptor(provider.Key, provider.IV); CryptoStream cs = new CryptoStream(fsWrite, transform, CryptoStreamMode.Write); while (fsRead.Read(buffer) > 0) cs.Write(buffer); fsRead.Close(); cs.Close(); fsWrite.Close(); Console.WriteLine("Encrypt Success"); } catch (Exception e) { Console.WriteLine("Encrypt Failed" + e); } } public static void Decrypt(SymmetricAlgorithm provider, string readfile, string writefile) { try { var buffer = new Span<byte>(new byte[4096]); FileStream fsRead = new FileStream(readfile, FileMode.Open); FileStream fsWrite = new FileStream(writefile, FileMode.OpenOrCreate); ICryptoTransform transform = provider.CreateEncryptor(provider.Key, provider.IV); CryptoStream cs = new CryptoStream(fsRead, transform, CryptoStreamMode.Read); while (cs.Read(buffer) > 0) fsWrite.Write(buffer); fsWrite.Close(); cs.Close(); fsRead.Close(); Console.WriteLine("Decrypt Success"); } catch (Exception e) { Console.WriteLine("Decrypt Failed" + e); } }
E.g.
AesCryptoServiceProvider pr = new AesCryptoServiceProvider { Key = key, Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7 }; Encrypt(pr,"readFile","writeFile");