zoukankan      html  css  js  c++  java
  • DES加密解密

        /// <summary>
        /// 字符串加密解密类
        /// </summary>
        public sealed class StringSecurity
        {
            private StringSecurity() { }
    
            #region DES 加密/解密
    
            private static byte[] key = ASCIIEncoding.ASCII.GetBytes("uiertysd");
            private static byte[] iv = ASCIIEncoding.ASCII.GetBytes("99008855");
    
            /// <summary>
            /// DES加密。
            /// </summary>
            /// <param name="inputString">输入字符串。</param>
            /// <returns>加密后的字符串。</returns>
            public static string DESEncrypt(string inputString)
            {
                MemoryStream ms = null;
                CryptoStream cs = null;
                StreamWriter sw = null;
    
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                try
                {
                    ms = new MemoryStream();
                    cs = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write);
                    sw = new StreamWriter(cs);
                    sw.Write(inputString);
                    sw.Flush();
                    cs.FlushFinalBlock();
                    return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
                }
                finally
                {
                    if (sw != null) sw.Close();
                    if (cs != null) cs.Close();
                    if (ms != null) ms.Close();
                }
            }
    
            /// <summary>
            /// DES解密。
            /// </summary>
            /// <param name="inputString">输入字符串。</param>
            /// <returns>解密后的字符串。</returns>
            public static string DESDecrypt(string inputString)
            {
                MemoryStream ms = null;
                CryptoStream cs = null;
                StreamReader sr = null;
    
                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                try
                {
                    ms = new MemoryStream(Convert.FromBase64String(inputString));
                    cs = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
                    sr = new StreamReader(cs);
                    return sr.ReadToEnd();
                }
                finally
                {
                    if (sr != null) sr.Close();
                    if (cs != null) cs.Close();
                    if (ms != null) ms.Close();
                }
            }
  • 相关阅读:
    QT设置32bit 64bit编译
    windows应用程序无边框设置
    分组与聚合数据
    快速排序
    【leetcode】two sum --medium
    【leetcode】path sum--easy
    【leetcode】happy number--easy
    SQL函数
    数据库的高级设计
    c++笔试准备(二)数组全排的问题
  • 原文地址:https://www.cnblogs.com/xiaowie/p/8664059.html
Copyright © 2011-2022 走看看