DESC 加密,解密

Posted Jacob Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DESC 加密,解密相关的知识,希望对你有一定的参考价值。

 DESC 加密,解密

    /// <summary>
    /// 加密、解密
    /// </summary>
    public class CryptoSecurity
    {
        /// <summary>
        /// 默认密钥向量
        /// </summary>

        private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
        private static string encryptKey = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + "1qasde32";
        /// <summary>
        /// DES加密字符串(权限代码加密、页面数据访问的加密)
        /// </summary>
        /// <param name="encryptString">待加密的字符串</param>
        /// <returns></returns>
        public static string EncryptDES(string encryptString)
        {
            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>
        /// <returns></returns>
        public static string DecryptDES(string decryptString)
        {
            try
            {
                byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
                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;
            }
        }
    }

  

以上是关于DESC 加密,解密的主要内容,如果未能解决你的问题,请参考以下文章

PHP 简单的加密解密方法

aes加密

加密解密

如何使用BASH命令解密PHP Openssl加密

php aes加密解密类(兼容php5php7)

无法使用前端 xxx 解决:rpc 错误:代码 = 未知 desc = (...) 输出:`退出状态 2:gpg:解密失败:没有密钥`