| 
 | 
  
 
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。 - using System;
 
 - using System.Collections.Generic;
 
 - using System.Linq;
 
 - using System.Web;
 
 - using System.Security.Cryptography;
 
 - using System.Text;
 
  
- namespace TestWeb
 
 - {
 
 -     public class DESEncrypt
 
 -     {
 
 -         #region ========加密========
 
  
-         /// <summary>
 
 -         /// 加密
 
 -         /// </summary>
 
 -         /// <param name="Text"></param>
 
 -         /// <returns></returns>
 
 -         public static string Encrypt(string Text)
 
 -         {
 
 -             return Encrypt(Text, "Test");
 
 -         }
 
 -         /// <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, "Test");
 
 -         }
 
 -         /// <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());
 
 -         }
 
  
-         #endregion
 
 -     }
 
 - }
 
  复制代码 
 
 |   
 
上一篇:asp.net获取当前页面的url地址下一篇:ASP.NET无法识别的配置节"connectionStrings"的解决方法 
 
 |