• MD5和DES加密方法


        /// <summary>
            /// MD5加密
            /// </summary>
            /// <param name="EncryptString"></param>
            /// <returns></returns>
            public string MD5Encrypt(string EncryptString)
            {
                if (string.IsNullOrEmpty(EncryptString)) { throw (new Exception(" 密文不得为空 ")); }
                System.Security.Cryptography.MD5 md5 = new MD5CryptoServiceProvider();
                string m_strEncrypt = "";
                try
                {
                    m_strEncrypt = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(EncryptString))).Replace("-", "");
                }
                catch (ArgumentException ex) { throw ex; }
                catch (CryptographicException ex) { throw ex; }
                catch (Exception ex) { throw ex; }
                finally { md5.Clear(); }
                return m_strEncrypt;

            }

    DES加密解密

    /// <summary>
            /// 解密
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            private static string DecryptCookie(string str)
            {
                if (string.IsNullOrEmpty(str))
                {
                    return null;
                }
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
                MemoryStream stream = new MemoryStream(Convert.FromBase64String(str));
                CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(KEY_64, IV_64), CryptoStreamMode.Read);
                StreamReader reader = new StreamReader(stream2);
                return reader.ReadToEnd();
            }
            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            private static string EncryptCookie(string str)
            {
                if (string.IsNullOrEmpty(str))
                {
                    return null;
                }
                byte[] inputByteArray = Encoding.UTF8.GetBytes(str);
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
                MemoryStream mStream = new MemoryStream();
                CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(KEY_64, IV_64), CryptoStreamMode.Write);
                cStream.Write(inputByteArray, 0, inputByteArray.Length);
                cStream.FlushFinalBlock();
                return Convert.ToBase64String(mStream.ToArray());
            }
            /// <summary>
            /// 8字节=64位
            /// </summary>
            private static byte[] IV_64
            {
                get
                {
                    return new byte[] { 0x18, 0x56, 0x7e, 0x2e, 0x4c, 0x2c, 0x83, 0x13 };
                }
            }
            private static byte[] KEY_64
            {
                get
                {
                    return new byte[] { 0x52, 0xcb, 0x38, 0x38, 0x12, 0x18, 0x63, 0x45 };
                }

            }  

  • 相关阅读:
    JAVA8 之 Stream 流(四)
    关于iphone 6s 页面功能不能正常使用问题
    关于ES6语法的 一些新的特性
    微信授权一直跳转
    js 一道题目引发的正则的学习
    关于this在不同使用情况表示的含义
    详细解析arry.map() ,function.apply() 方法
    关于服务器无法在已发送http表头之后设置状态问题
    七牛上传视频并转码
    使用 v-cloak 防止页面加载时出现 vuejs 的变量名
  • 原文地址:https://www.cnblogs.com/viaiu/p/4821693.html
Copyright © 2020-2023  润新知