DES加密解密

来源:互联网 发布:vmware 配置网络 编辑:程序博客网 时间:2024/06/09 15:43

1.DES加密:

        /// <summary>
        /// DES加密
        /// </summary>
        /// <param name="str">待加密的密码</param>
        /// <returns></returns>
        public static string EncryDES(string str)
        {
            string configkey = ConfigurationManager.AppSettings["deskey"];
            string configvi = ConfigurationManager.AppSettings["desvi"];
            byte[] Key = Encoding.UTF8.GetBytes(configkey);
            byte[] VI = Encoding.UTF8.GetBytes(configvi);
            DESCryptoServiceProvider sp = new DESCryptoServiceProvider();
            byte[] inputByteArry = Encoding.UTF8.GetBytes(str);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, sp.CreateEncryptor(Key, VI), CryptoStreamMode.Write);
            cs.Write(inputByteArry, 0, inputByteArry.Length);
            cs.FlushFinalBlock();
            return Convert.ToBase64String(ms.ToArray());
        }

2.DES解密

        /// <summary>
        /// DES解密
        /// </summary>
        /// <param name="str">加密后的字符串</param>
        /// <returns></returns>
        public static string DncryDES(string str)
        {
            string configkey = ConfigurationManager.AppSettings["deskey"];
            string configvi = ConfigurationManager.AppSettings["desvi"];
            byte[] Key = Encoding.UTF8.GetBytes(configkey);
            byte[] VI = Encoding.UTF8.GetBytes(configvi);
            DESCryptoServiceProvider sp = new DESCryptoServiceProvider();
            byte[] inputByteArry = Convert.FromBase64String(str);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, sp.CreateDecryptor(Key, VI), CryptoStreamMode.Write);
            cs.Write(inputByteArry, 0, inputByteArry.Length);
            cs.FlushFinalBlock();
            return Encoding.UTF8.GetString(ms.ToArray());
        }

0 0