using System; using System.Text; using System.Security.Cryptography; using System.IO; namespace DESPwd { public class DESUtil { static DESCryptoServiceProvider des = new DESCryptoServiceProvider(); public static DESCryptoServiceProvider DES { get { return des; } } const string EncryptionKey = "諾麗科技"; const string EncryptionIV = "kell"; public static string Encoder(string input) { byte[] SourceData = Encoding.Unicode.GetBytes(input); byte[] returnData = null; try { des.Key = ASCIIEncoding.Unicode.GetBytes(EncryptionKey); des.IV = ASCIIEncoding.Unicode.GetBytes(EncryptionIV); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); cs.Write(SourceData, 0, SourceData.Length); cs.FlushFinalBlock(); returnData = ms.ToArray(); } catch (Exception ex) { throw ex; } return Encoding.Unicode.GetString(returnData); } public static string Decoder(string input) { byte[] SourceData = Encoding.Unicode.GetBytes(input); byte[] returnData = null; try { DESCryptoServiceProvider desProvider = new DESCryptoServiceProvider(); desProvider.Key = Encoding.Unicode.GetBytes(EncryptionKey); desProvider.IV = Encoding.Unicode.GetBytes(EncryptionIV); MemoryStream ms = new MemoryStream(); ICryptoTransform encrypto = desProvider.CreateDecryptor(); CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write); cs.Write(SourceData, 0, SourceData.Length); cs.FlushFinalBlock(); returnData = ms.ToArray(); } catch (Exception ex) { throw ex; } return Encoding.Unicode.GetString(returnData); } } }
using System; using System.Windows.Forms; namespace DESPwd { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button10_Click(object sender, EventArgs e) { textBox9.Text = DESUtil.Encoder(textBox8.Text); } private void button11_Click(object sender, EventArgs e) { textBox11.Text = DESUtil.Decoder(textBox9.Text); } } }