Base64加解密

 

 

 

 

 

 

 

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

namespace Base64
{
    public partial class Form1 : Form
    {
        private string base64Str;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str = this.textBox1.Text;
            var ebytes = System.Text.Encoding.Default.GetBytes(str);
            //bytes进行base64加密
            var strBase64 = Convert.ToBase64String(ebytes);
            this.textBox2.Text = strBase64;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            byte[] bytes = Convert.FromBase64String(this.textBox3.Text);
            string str = Encoding.GetEncoding("UTF-8").GetString(bytes);
            this.textBox4.Text = str;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "所有文件|*.*";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                if (ofd.FileName != "")
                {
                    this.textBox5.Text = System.IO.Path.GetFullPath(ofd.FileName);
                }
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            string path = textBox5.Text;  //界面上第一个文件路径
            string tempPath = textBox6.Text; //界面上第二个文件路径
            FileStream filestream = new FileStream(path, FileMode.Open);

            byte[] bt = new byte[filestream.Length];

            //调用read读取方法
            filestream.Read(bt, 0, bt.Length);
            this.base64Str = Convert.ToBase64String(bt);
            filestream.Close();

            //将Base64串写入临时文本文件
            if (File.Exists(tempPath))
            {
                File.Delete(tempPath);
            }
            FileStream fs = new FileStream(tempPath, FileMode.Create);
            byte[] data = System.Text.Encoding.Default.GetBytes(this.base64Str);
            //开始写入
            fs.Write(data, 0, data.Length);
            //清空缓冲区、关闭流
            fs.Flush();
            fs.Close();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            string outPath = textBox7.Text;  //界面上第三个文件路径
            var contents = Convert.FromBase64String(this.base64Str);
            using (var fs = new FileStream(outPath, FileMode.Create, FileAccess.Write))
            {
                fs.Write(contents, 0, contents.Length);
                fs.Flush();
            }
        }
    }
}

 

posted @ 2019-10-22 11:26  DarJeely  阅读(373)  评论(0编辑  收藏  举报