using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Web.Security;
using System.Security;
using System.Security.Cryptography;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace ASPNET3DBBook
{
<wbr>public class EncryptString<br><wbr>{<wbr><wbr> ///定义64位和192位的Kev和IV<br><wbr><wbr>private static byte[] Key64 = {42, 16, 93, 156, 78, 4, 218, 32};<br><wbr><wbr>private static byte[] IV64<wbr> = {55, 103, 246, 79, 36, 99, 167, 3};<br><wbr><wbr>private static byte[] Key192 = {42, 16, 93, 156, 78, 4, 218, 32,15, 167, 44, 80, 26, 250, 155, 112,2, 94, 11, 204, 119, 35, 184, 197};<br><wbr><wbr>private static byte[] IV192<wbr> = {55, 103, 246, 79, 36, 99, 167, 3,42, 5, 62, 83, 184, 7, 209, 13,145, 23, 200, 58, 173, 10, 121, 222};</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 加密字符串<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String Encrypt(String valueString)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(valueString != "")<br><wbr><wbr><wbr>{<wbr><wbr> ///创建加密的provider<br><wbr><wbr><wbr><wbr>DESCryptoServiceProvider<wbr> desprovider = new DESCryptoServiceProvider<wbr>();<br><wbr><wbr><wbr><wbr>///创建加密的流<br><wbr><wbr><wbr><wbr>MemoryStream memoryStream = new MemoryStream();<wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr>CryptoStream cryptoStream = new CryptoStream(memoryStream,desprovider.CreateEncryptor</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (Key64,IV64),CryptoStreamMode.Write);<br><wbr><wbr><wbr><wbr>StreamWriter writerStream = new StreamWriter(cryptoStream);<br><wbr><wbr><wbr><wbr>///加密给定的字符串<br><wbr><wbr><wbr><wbr>writerStream.Write(valueString);<br><wbr><wbr><wbr><wbr>writerStream.Flush();<br><wbr><wbr><wbr><wbr>cryptoStream.FlushFinalBlock();<br><wbr><wbr><wbr><wbr>///返回加密后的字符串<br><wbr><wbr><wbr><wbr>memoryStream.Flush();<br><wbr><wbr><wbr><wbr>return(Convert.ToBase64String(memoryStream.GetBuffer(),0,(int)memoryStream.Length));<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>return(null);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 解密字符串<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String Decrypt(String valueString)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(valueString != "")<br><wbr><wbr><wbr>{<wbr><wbr> ///创建解密的provider<br><wbr><wbr><wbr><wbr>DESCryptoServiceProvider<wbr> desprovider = new DESCryptoServiceProvider<wbr>();<br><wbr><wbr><wbr><wbr>byte[] buffer = Convert.FromBase64String(valueString);<br><wbr><wbr><wbr><wbr>MemoryStream memoryStream = new MemoryStream();<br><wbr><wbr><wbr><wbr>///解密给定的字符串<br><wbr><wbr><wbr><wbr>CryptoStream cryptoStream = new CryptoStream(memoryStream,desprovider.CreateEncryptor</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (Key64,IV64),CryptoStreamMode.Read);<br><wbr><wbr><wbr><wbr>StreamReader readerStream = new StreamReader(cryptoStream);<br><wbr><wbr><wbr><wbr>return(readerStream.ReadToEnd());<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>return(null);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// DES加密方法<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String EncryptTripleDES(String valueString)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(valueString != "")<br><wbr><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr> ///创建加密的provider<br><wbr><wbr><wbr><wbr>TripleDESCryptoServicePr<wbr>ovider triprovider = new TripleDESCryptoServicePr<wbr>ovider();<br><wbr><wbr><wbr><wbr>///创建加密的流<br><wbr><wbr><wbr><wbr>MemoryStream memoryStream = new MemoryStream();<br><wbr><wbr><wbr><wbr>CryptoStream cryptoStream = new CryptoStream(memoryStream,triprovider.CreateEncryptor</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (Key192,IV192),CryptoStreamMode.Write);<br><wbr><wbr><wbr><wbr>StreamWriter writerStream = new StreamWriter(cryptoStream);<br><wbr><wbr><wbr><wbr>///加密给定的字符串<br><wbr><wbr><wbr><wbr>writerStream.Write(valueString);<br><wbr><wbr><wbr><wbr>writerStream.Flush();<br><wbr><wbr><wbr><wbr>cryptoStream.FlushFinalBlock();<br><wbr><wbr><wbr><wbr>///返回加密后的字符串<br><wbr><wbr><wbr><wbr>memoryStream.Flush();<br><wbr><wbr><wbr><wbr>return(Convert.ToBase64String(memoryStream.GetBuffer(),0,(int)memoryStream.Length));<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>return(null);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// DES解密方法<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String DecryptTripleDES(String valueString)<br><wbr><wbr>{<br><wbr><wbr><wbr>if(valueString != "")<br><wbr><wbr><wbr>{<wbr><wbr> ///创建加密的provider<br><wbr><wbr><wbr><wbr>TripleDESCryptoServicePr<wbr>ovider triprovider = new TripleDESCryptoServicePr<wbr>ovider();<br><wbr><wbr><wbr><wbr>///创建加密的流<br><wbr><wbr><wbr><wbr>byte[] buffer = Convert.FromBase64String(valueString);<br><wbr><wbr><wbr><wbr>MemoryStream memoryStream = new MemoryStream();<br><wbr><wbr><wbr><wbr>CryptoStream cryptoStream = new CryptoStream(memoryStream,triprovider.CreateEncryptor</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (Key192,IV192),CryptoStreamMode.Read);<br><wbr><wbr><wbr><wbr>StreamReader readerStream = new StreamReader(cryptoStream);<br><wbr><wbr><wbr><wbr>return(readerStream.ReadToEnd());<br><wbr><wbr><wbr>}<br><wbr><wbr><wbr>return(null);<br><wbr><wbr>}<br><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>public class CookieEncrypt<br><wbr>{<wbr><wbr><br><wbr><wbr>/// <summary><br><wbr><wbr>/// 设置Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="cookie"></param><br><wbr><wbr>public static void SetCookie(HttpCookie cookie)<br><wbr><wbr>{<br><wbr><wbr><wbr>HttpContext.Current.Response.Cookies.Set(cookie);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>public static void SetCookie(String key,String valueString)<br><wbr><wbr>{<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = HttpContext.Current.Server.UrlEncode(key);<br><wbr><wbr><wbr>valueString = HttpContext.Current.Server.UrlEncode(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>HttpCookie cookie = new HttpCookie(key,valueString);<br><wbr><wbr><wbr>SetCookie(cookie);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <param name="expires"></param><br><wbr><wbr>public static void SetCookie(String key,String valueString,DateTime expires)<br><wbr><wbr>{<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = HttpContext.Current.Server.UrlEncode(key);<br><wbr><wbr><wbr>valueString = HttpContext.Current.Server.UrlEncode(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>HttpCookie cookie = new HttpCookie(key,valueString);<br><wbr><wbr><wbr>cookie.Expires = expires;<br><wbr><wbr><wbr>SetCookie(cookie);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置使用DES方法加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>public static void SetTripleDESEncryptedCoo<wbr>kie(String key,String valueString)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.EncryptTripleDES(key);<br><wbr><wbr><wbr>valueString = EncryptString.EncryptTripleDES(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>SetCookie(key,valueString);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置使用DES方法加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <param name="expires"></param><br><wbr><wbr>public static void SetTripleDESEncryptedCoo<wbr>kie(String key,String valueString,DateTime expires)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.EncryptTripleDES(key);<br><wbr><wbr><wbr>valueString = EncryptString.EncryptTripleDES(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>SetCookie(key,valueString,expires);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>public static void SetEncryptedCookie(String key,String valueString)<br><wbr><wbr>{<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.Encrypt(key);<br><wbr><wbr><wbr>valueString = EncryptString.Encrypt(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>SetCookie(key,valueString);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 设置加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <param name="valueString"></param><br><wbr><wbr>/// <param name="expires"></param><br><wbr><wbr>public static void SetEncryptedCookie(String key,String valueString,DateTime expires)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.Encrypt(key);<br><wbr><wbr><wbr>valueString = EncryptString.Encrypt(valueString);<br><wbr><wbr><wbr>///设置Cookie<br><wbr><wbr><wbr>SetCookie(key,valueString,expires);<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 获取DES方法加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String GetTripleDESEncryptedCoo<wbr>kieValue(String key)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.EncryptTripleDES(key);<br><wbr><wbr><wbr>String valueString = GetCookieValue(key);<br><wbr><wbr><wbr>///获取Cookie<br><wbr><wbr><wbr>valueString = EncryptString.DecryptTripleDES(valueString);<br><wbr><wbr><wbr>return(valueString);<wbr><wbr><wbr><br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 获取DES方法加密之后的Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String GetEncryptedCookieValue(String key)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = EncryptString.Encrypt(key);<br><wbr><wbr><wbr>String valueString = GetCookieValue(key);<br><wbr><wbr><wbr>///获取Cookie<br><wbr><wbr><wbr>valueString = EncryptString.Decrypt(valueString);<br><wbr><wbr><wbr>return(valueString);<wbr><wbr><wbr><br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 获取Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static HttpCookie GetCookie(String key)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>key = HttpContext.Current.Server.UrlEncode(key);<br><wbr><wbr><wbr>///获取Cookie<br><wbr><wbr><wbr>return(HttpContext.Current.Request.Cookies.Get(key));<br><wbr><wbr>}</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>/// <summary><br><wbr><wbr>/// 获取Cookie<br><wbr><wbr>/// </summary><br><wbr><wbr>/// <param name="key"></param><br><wbr><wbr>/// <returns></returns><br><wbr><wbr>public static String GetCookieValue(String key)<br><wbr><wbr>{<wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr> ///获取关键字和值<br><wbr><wbr><wbr>String valueString = GetCookie(key).Value;<br><wbr><wbr><wbr>///获取Cookie<br><wbr><wbr><wbr>valueString = HttpContext.Current.Server.UrlDecode(valueString);<br><wbr><wbr><wbr>return(valueString);<br><wbr><wbr>}<br><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>