zoukankan      html  css  js  c++  java
  • 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 };
                }

            }  

  • 相关阅读:
    欧拉公式
    isap的一些想法
    错误合集
    Hello World
    PAT (Advanced Level) Practice 1068 Find More Coins
    PAT (Advanced Level) 1087 All Roads Lead to Rome
    PAT (Advanced Level) 1075 PAT Judge
    PAT (Advanced Level) 1067 Sort with Swap(0, i)
    PAT (Advanced Level) 1017 Queueing at Bank
    PAT (Advanced Level) 1025 PAT Ranking
  • 原文地址:https://www.cnblogs.com/viaiu/p/4821693.html
Copyright © 2011-2022 走看看