C#des encryption

Source: Internet
Author: User

usingSystem;

using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Text; using System.Windows.Forms; using System.Security.Cryptography; //加密部分 using System.IO; namespace WindowsFormsApplication1 {      public partial class Form1 : Form      {          public Form1()          {              InitializeComponent();          }          private static byte [] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };          private static string keyUse = "12345678" ;          private static string keyDe = "12345678" ;          /// <summary>          /// DES加密字符串          /// </summary>          /// <param name="encryptString">待加密的字符串          /// <param name="encryptKey">加密密钥,要求为8位          /// <returns>加密成功返回加密后的字符串,失败返回源串</returns>          public static string EncryptDES( string encryptString, string encryptKey)          {              try              {                  byte [] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));                  byte [] rgbIV = Keys;                  byte [] inputByteArray = Encoding.UTF8.GetBytes(encryptString);                  DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();                  MemoryStream mStream = new MemoryStream();                  CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);                  cStream.Write(inputByteArray, 0, inputByteArray.Length);                  cStream.FlushFinalBlock();                  return Convert.ToBase64String(mStream.ToArray());              }              catch              {                  return encryptString;              }          }          /// <summary>          /// DES解密字符串          /// </summary>          /// <param name="decryptString">待解密的字符串          /// <param name="decryptKey">解密密钥,要求为8位,和加密密钥相同          /// <returns>解密成功返回解密后的字符串,失败返源串</returns>          public static string DecryptDES( string decryptString, string decryptKey)          {              try              {                  byte [] rgbKey = Encoding.UTF8.GetBytes(decryptKey);                  byte [] rgbIV = Keys;                  byte [] inputByteArray = Convert.FromBase64String(decryptString);                  DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();                  MemoryStream mStream = new MemoryStream();                  CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);                  cStream.Write(inputByteArray, 0, inputByteArray.Length);                  cStream.FlushFinalBlock();                  return Encoding.UTF8.GetString(mStream.ToArray());              }              catch              {                  return decryptString;              }          }          private void button1_Click( object sender, EventArgs e)          {              string strOrg = TB_ORG.Text;              string tmp = System.Text.Encoding.Default.GetString(Keys); //[].ToString();//BitConverter.ToString(Keys).Replace("-", string.Empty);// Keys.ToString();              string strEp = EncryptDES(strOrg, keyUse);              TB_EP.Text = strEp;          }          private void button2_Click( object sender, EventArgs e)          {              string strEp = TB_EP.Text;              string tmp = System.Text.Encoding.Default.GetString(Keys); //BitConverter.ToString(Keys).Replace("-", string.Empty);// Keys.ToString();              string strDe = DecryptDES(strEp, keyDe);              TB_DE.Text = strDe;          }      } }

C#des encryption

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.