usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.SqlClient;usingSystem.Security.Cryptography;usingSystem.IO;usingSystem.Text;public classTestDes
{//cookies加密密钥
public static string DES_Key = "12345678";#region DESEnCode DES加密
public static string DESEnCode(string pToEncrypt, stringsKey)
{
pToEncrypt=HttpContext.Current.Server.UrlEncode(pToEncrypt);
DESCryptoServiceProvider des= newDESCryptoServiceProvider();byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(pToEncrypt);
des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV=ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms= newMemoryStream();
CryptoStream cs= newCryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray,0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret= newStringBuilder();foreach (byte b inms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();returnret.ToString();
}#endregion
#region DESDeCode DES解密
public static string DESDeCode(string pToDecrypt, stringsKey)
{//HttpContext.Current.Response.Write(pToDecrypt + "
" + sKey);//HttpContext.Current.Response.End();
DESCryptoServiceProvider des = newDESCryptoServiceProvider();byte[] inputByteArray = new byte[pToDecrypt.Length / 2];for (int x = 0; x < pToDecrypt.Length / 2; x++)
{int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x]= (byte)i;
}
des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV=ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms= newMemoryStream();
CryptoStream cs= newCryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray,0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret= newStringBuilder();returnHttpContext.Current.Server.UrlDecode(System.Text.Encoding.Default.GetString(ms.ToArray()));
}#endregion
publicTestDes()
{//
//TODO: 在此处添加构造函数逻辑//}
}