DES加密解密

    技术2022-05-11  66

    using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.IO; using System.Security.Cryptography; private static byte[] DESKey=new byte[]{11,23,93,102,72,41,18,12}; private static byte[] DESIV=new byte[]{75,158,46,97,78,57,17,36}; public static string Encode(string Encode_String)   {        DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();    MemoryStream objMemoryStream = new MemoryStream();    //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象    CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateEncryptor(DESKey,DESIV),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);    //用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 解密器对象    CryptoStream objCryptoStream = new CryptoStream(objMemoryStream,objDES.CreateDecryptor(DESKey,DESIV),CryptoStreamMode.Read);    StreamReader  objStreamReader  = new StreamReader(objCryptoStream);    return objStreamReader.ReadToEnd();   }   private void button1_Click(object sender, System.EventArgs e)   {    try    {     string temp=textBox1.Text;     textBox2.Text=Encode(temp);    }    catch(System.Exception ee)    {     MessageBox.Show("解密、加密期间出现错误!"+ee.Message,"错误");    }   }  private void button2_Click(object sender, System.EventArgs e)   {   textBox3.Text= Decode(textBox2.Text);   }  

    最新回复(0)