DES加密

来源:互联网 发布:sql注入技术详解 编辑:程序博客网 时间:2024/05/13 01:19

/// <summary>

     /// DES加密/解密类。

     /// </summary>

     public class DESEncrypt

     {

        /// <summary>

        /// sKey输入密码的时候,必须使用英文字符,区分大小写,且字符数量是个,不能多也不能少,否则出错

        /// </summary>

        private static string strKey = "hxfjUkdL";

         public DESEncrypt()

         {

        }

        public static string Encrypt(string pToEncrypt)

        { return Encrypt(pToEncrypt,strKey);}

 

        public static string Encrypt(string pToEncrypt, string sKey)

        {

            DESCryptoServiceProvider des = new DESCryptoServiceProvider();

            byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);

            des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);

            des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);

            MemoryStream ms = new MemoryStream();

            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

            cs.Write(inputByteArray, 0, inputByteArray.Length);

            cs.FlushFinalBlock();

            StringBuilder ret = new StringBuilder();

            foreach (byte b in ms.ToArray())

            {

                ret.AppendFormat("{0:X2}", b);

            }

            ret.ToString();

            return ret.ToString();

 

        }

        public static string Decrypt(string pToDecrypt)

        { return Decrypt(pToDecrypt, strKey); }

原创粉丝点击