• C# 加密、解密函数


      1  #region ========加密========
      2 
      3         /// <summary>
      4         /// 加密
      5         /// </summary>
      6         /// <param name="Text"></param>
      7         /// <returns></returns>
      8         public static string Encrypt(string Text)
      9         {
     10             if (Text == null)
     11                 return Text;
     12             return Encrypt(Text, "123456789abcd");
     13         }
     14         /// <summary> 
     15         /// 加密数据 
     16         /// </summary> 
     17         /// <param name="Text"></param> 
     18         /// <param name="sKey"></param> 
     19         /// <returns></returns> 
     20         public static string Encrypt(string Text, string sKey)
     21         {
     22             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
     23             byte[] inputByteArray;
     24             inputByteArray = Encoding.Default.GetBytes(Text);
     25             des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
     26             des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
     27             System.IO.MemoryStream ms = new System.IO.MemoryStream();
     28             CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
     29             cs.Write(inputByteArray, 0, inputByteArray.Length);
     30             cs.FlushFinalBlock();
     31             StringBuilder ret = new StringBuilder();
     32             foreach (byte b in ms.ToArray())
     33             {
     34                 ret.AppendFormat("{0:X2}", b);
     35             }
     36             return ret.ToString();
     37         }
     38 
     39         #endregion
     40 
     41         #region ========解密========
     42 
     43 
     44         /// <summary>
     45         /// 解密
     46         /// </summary>
     47         /// <param name="Text"></param>
     48         /// <returns></returns>
     49         public static string Decrypt(string Text)
     50         {
     51             if (Text == null)
     52                 return Text;
     53             return Decrypt(Text, "123456789abcd");
     54         }
     55         /// <summary> 
     56         /// 解密数据 
     57         /// </summary> 
     58         /// <param name="Text"></param> 
     59         /// <param name="sKey"></param> 
     60         /// <returns></returns> 
     61         public static string Decrypt(string Text, string sKey)
     62         {
     63             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
     64             int len;
     65             len = Text.Length / 2;
     66             byte[] inputByteArray = new byte[len];
     67             int x, i;
     68             for (x = 0; x < len; x++)
     69             {
     70                 i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
     71                 inputByteArray[x] = (byte)i;
     72             }
     73             des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
     74             des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
     75             System.IO.MemoryStream ms = new System.IO.MemoryStream();
     76             CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
     77             cs.Write(inputByteArray, 0, inputByteArray.Length);
     78             cs.FlushFinalBlock();
     79             return Encoding.Default.GetString(ms.ToArray());
     80         } 98           197         #endregion 
  • 相关阅读:
    [数学建模(八)]使用MATLAB绘图
    [数学建模(七)]使用MATLAB实现数据拟合
    [数学建模(六)]使用MATLAB实现插值
    [数学建模(五)]线性规划,二次规划和非线性规划的MATLAB求解
    [数学建模(四)]MATLAB神经网络工具箱的简单应用
    [数学建模(三)]遗传算法与旅行商问题
    [数学建模(二)模拟退火法与旅行商问题]
    [数学建模(一)]蒙特卡罗方法
    Java虚拟机13:Java类加载机制
    Java虚拟机14:类加载器
  • 原文地址:https://www.cnblogs.com/gates/p/3456947.html
Copyright © 2020-2023  润新知