C # large file streaming compression decompression

        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);
            }
        }

  Eg

            AesCryptoServiceProvider pr = new AesCryptoServiceProvider
            {
                Key = key,
                Mode = CipherMode.ECB,
                Padding = PaddingMode.PKCS7
            }; 
            Encrypt(pr,"readFile","writeFile");

  

Guess you like

Origin www.cnblogs.com/yzpopulation/p/11305516.html