加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#大文件流式压缩解压

发布时间:2020-12-15 19:52:08 所属栏目:百科 来源:网络整理
导读:public static void Encrypt(SymmetricAlgorithm provider,string readFile,string writeFile) { try { var buffer=new Spanbyte(new byte[4096]); FileStream fsWrite = new FileStream(writeFile,FileMode.Create); FileStream fsRead = new FileStream(re
        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,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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读