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

            /// <summary>
            /// 加密
            /// </summary>
            /// <param name="encryptString"></param>
            /// <param name="keys">密钥(8位)</param>
            /// <returns></returns>
            public static string DESEncrypt(string encryptString, string keys)
            {
                using (System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider())
                {
                    byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
                    des.Key = ASCIIEncoding.ASCII.GetBytes(keys);
                    des.IV = ASCIIEncoding.ASCII.GetBytes(keys);
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    using (System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write))
                    {
                        cs.Write(inputByteArray, 0, inputByteArray.Length);
                        cs.FlushFinalBlock();
                        cs.Close();
                    }
                    string str = Convert.ToBase64String(ms.ToArray());
                    ms.Close();
                    return str;
                }
            }
            /// <summary>
            /// 解密
            /// </summary>
            /// <param name="decryptString"></param>
            /// <param name="keys"></param>
            /// <returns></returns>
            public static string DESDecrypt(string decryptString, string keys)
            {
                if (decryptString == string.Empty)
                {
                    return "";
                }
                if (keys.Length < 8)
                {
                    return "";
                }
                try
                {
                    byte[] inputByteArray = Convert.FromBase64String(decryptString);
                    using (System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider())
                    {
                        des.Key = ASCIIEncoding.ASCII.GetBytes(keys);
                        des.IV = ASCIIEncoding.ASCII.GetBytes(keys);
                        System.IO.MemoryStream ms = new System.IO.MemoryStream();
                        using (System.Security.Cryptography.CryptoStream cs = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write))
                        {
                            cs.Write(inputByteArray, 0, inputByteArray.Length);
                            cs.FlushFinalBlock();
                            cs.Close();
                        }
                        string str = Encoding.UTF8.GetString(ms.ToArray());
                        ms.Close();
                        return str;
                    }
                }
                catch
                {
                    return "";
                }
            }
  • 相关阅读:
    Spring5源码--Spring AOP使用接口方式实现 配置xml文件
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    什么是 Spring Boot?
    问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    如何实现参数级联查询
    如何开发主从报表
    如何在报表中实现算法的可挂接需求
    如何实现报表的批量打印需求
    如何实现参数和报表间的联动效果
  • 原文地址:https://www.cnblogs.com/Shadow3627/p/2984302.html
Copyright © 2011-2022 走看看