20
2012
05

C#对文件的字节加密/解密-可逆

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;

namespace 文件加密
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void btn_Encode_Click(object sender, EventArgs e)
       {
           Thread th1 = new Thread(new ThreadStart(EncodingFile));
           th1.Start();
       }
       private void EncodingFile()
       {
           string inf = @txt_source.Text;//源文件地址
           string outf = @txt_des.Text;//目的文件地址
           FileInfo fi = new FileInfo(inf);
           progressBar1.Maximum = (int)fi.Length;
           using (FileStream outstream = new FileStream(@outf, FileMode.Create))
           {
               using (FileStream fs = new FileStream(@inf, FileMode.Open))
               {
                   byte[] bytes = new byte[1024 * 1024 * 10];//10MB
                   int readlength;
                   while ((readlength = fs.Read(bytes, 0, bytes.Length)) > 0)
                   {
                       for (int i = 0; i < readlength; i++)
                       {
                           bytes[i] = (byte)(byte.MaxValue - bytes[i]);
                       }
                       
                       outstream.Write(bytes, 0, readlength);
                       progressBar1.Value += readlength;
                   }
               }
           }
           MessageBox.Show("加密完成,重复此过程即可解密!");
       }
   }
}
 



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。