using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Collections; using System.Security.Cryptography; namespace des { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private static byte[] DESkey = new byte[] { 11, 23, 93, 102, 72, 41, 18, 12 }; private static byte[] DESSIV = new byte[] { 75, 15, 46, 97, 78, 57, 17, 36 }; public static string Encode(string Encode_String)//加密 { DESCryptoServiceProvider objDES = new DESCryptoServiceProvider(); MemoryStream objMemoryStream = new MemoryStream(); CryptoStream objCryptoStream = new CryptoStream(objMemoryStream, objDES.CreateEncryptor(DESkey, DESSIV), CryptoStreamMode.Write);//加密流写入 StreamWriter objStreamWriter = new StreamWriter(objCryptoStream); objStreamWriter.Write(Encode_String); objStreamWriter.Flush(); objCryptoStream.FlushFinalBlock(); objMemoryStream.Flush(); return Convert.ToBase64String(objMemoryStream.GetBuffer(), 0, (int)objMemoryStream.Length); } public static string Decode(string Encode_String)//解密 { DESCryptoServiceProvider objDES = new DESCryptoServiceProvider(); byte[] input = Convert.FromBase64String(Encode_String); MemoryStream objMemoryStream = new MemoryStream(input); CryptoStream objCryptoStream = new CryptoStream(objMemoryStream, objDES.CreateDecryptor(DESkey, DESSIV),CryptoStreamMode.Read); StreamReader objStreamRead = new StreamReader(objCryptoStream); return objStreamRead.ReadToEnd(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("请输入要加密的值"); } else { try { textBox2.Text = Encode(textBox1.Text.Trim()); } catch (Exception ee) { MessageBox.Show(ee.Message); } } } private void button2_Click(object sender, EventArgs e) { textBox3.Text = Decode(textBox2.Text); } } }