如何对asp.net代码加密
如何对asp.net代码加密
------解决方案--------------------使用混淆器,网上很多的......
------解决方案--------------------
------解决方案--------------------加密和解密 有很多种 像md5就是一种很普遍的加密方式。在ASP种想要加密和解密 需在 运行里面输入代码即可。同样的解密也是在里面输入一行代码。
------解决方案--------------------#region ========加密========
   /// <summary>
   /// 加密
   /// </summary>
   /// <param name="Text"></param>
   /// <returns></returns>
   public static string Encrypt(string Text)
   {
       return Encrypt(Text, "HarryJames");
   }
   /// <summary>  
   /// 加密数据  
   /// </summary>  
   /// <param name="Text"></param>  
   /// <param name="sKey"></param>  
   /// <returns></returns>  
   public static string Encrypt(string Text, string sKey)
   {
       DESCryptoServiceProvider des = new DESCryptoServiceProvider();
       byte[] inputByteArray;
       inputByteArray = Encoding.Default.GetBytes(Text);
       des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
       des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
       System.IO.MemoryStream ms = new System.IO.MemoryStream();
       CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
       cs.Write(inputByteArray, 0, inputByteArray.Length);
       cs.FlushFinalBlock();
       StringBuilder ret = new StringBuilder();
       foreach (byte b in ms.ToArray())
       {
           ret.AppendFormat("{0:X2}", b);
       }
       return ret.ToString();
   }  
   #endregion
   #region ========解密========
   /// <summary>
   /// 解密
   /// </summary>
   /// <param name="Text"></param>
   /// <returns></returns>
   public static string Decrypt(string Text)
   {
       return Decrypt(Text, "HarryJames");
   }
   /// <summary>  
   /// 解密数据  
   /// </summary>  
   /// <param name="Text"></param>  
   /// <param name="sKey"></param>  
   /// <returns></returns>  
   public static string Decrypt(string Text, string sKey)
   {
       DESCryptoServiceProvider des = new DESCryptoServiceProvider();
       int len;
       len = Text.Length / 2;
       byte[] inputByteArray = new byte[len];
       int x, i;
       for (x = 0; x < len; x++)
       {
           i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
           inputByteArray[x] = (byte)i;
       }
       des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
       des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
       System.IO.MemoryStream ms = new System.IO.MemoryStream();
       CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
       cs.Write(inputByteArray, 0, inputByteArray.Length);
       cs.FlushFinalBlock();
       return Encoding.Default.GetString(ms.ToArray());