当前位置:编程学习 > 网站相关 >>

c#DES加密解密代码

//加密
  public string DesEncrypt(string strText, string strEncrKey)
  {
   byte[] byKey=null;
   byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
   try
   {
    byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0,8));
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    byte[] inputByteArray =System.Text.Encoding.UTF8.GetBytes(strText);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write) ;
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    return Convert.ToBase64String(ms.ToArray());
   }
   catch(System.Exception error)
   {
    MessageBox.Show(error.Message);
    return "error:" +error.Message+"";
   }
  }
 
  //解密
  public string DesDecrypt(string strText,string sDecrKey)
  {
   byte[] byKey = null;
   byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
   byte[] inputByteArray = new Byte[strText.Length];
   try
   {
    byKey = System.Text.Encoding.UTF8.GetBytes(sDecrKey.Substring(0,8));
    DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    inputByteArray = Convert.FromBase64String(strText);
    MemoryStream ms = new MemoryStream();
    CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
    cs.Write(inputByteArray, 0, inputByteArray.Length);
    cs.FlushFinalBlock();
    System.Text.Encoding encoding = new System.Text.UTF8Encoding();
    return encoding.GetString(ms.ToArray());
   }
   catch(System.Exception error)
   {
    MessageBox.Show(error.Message);
    return "error:"+error.Message+"";
   }
  }

    
补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,