//--------------EncryptString.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Cryptography;
using System.IO;
/// <summary>
/// EncryptString 的摘要说明
/// </summary>
public class EncryptString
{
public EncryptString()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 };
private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 };
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};
private static byte[] IV192 = {55, 103, 246, 79, 36, 99, 167, 3,42,
5, 62,83, 184, 7, 209, 13,145, 23, 200, 58, 173, 10, 121, 222};
public static String Encrypt(String valueString)
{
if (valueString != "")
{ //定义DES的Provider
DESCryptoServiceProvider desprovider =
new DESCryptoServiceProvider();
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
desprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Write);
//定义写IO流
StreamWriter writerStream = new StreamWriter(cryptoStream);
//写入加密后的字符流
writerStream.Write(valueString);
writerStream.Flush();
cryptoStream.FlushFinalBlock();
memoryStream.Flush();
//返回加密后的字符串
return (Convert.ToBase64String(memoryStream.GetBuffer(), 0,
(int)memoryStream.Length));
}
return (null);
} //解密后运行了这里,高手直接看这段
public static String Decrypt(String valueString)
{
if (valueString != "")
{ //定义DES的Provider
DESCryptoServiceProvider desprovider =
new DESCryptoServiceProvider();
//转换解密的字符串为二进制
byte[] buffer = Convert.FromBase64String(valueString);
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
desprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Read);
//定义读IO流
StreamReader readerStream = new StreamReader(cryptoStream);
//返回解密后的字符串
return (readerStream.ReadToEnd());
}
return (null);
}
public static String EncryptTripleDES(String valueString)
{
if (valueString != "")
{ //定义TripleDES的Provider
TripleDESCryptoServiceProvider triprovider =
new TripleDESCryptoServiceProvider();
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
triprovider.CreateEncryptor(Key192, IV192),
CryptoStreamMode.Write);
//定义写IO流
StreamWriter writerStream = new StreamWriter(cryptoStream);
//写入加密后的字符流
writerStream.Write(valueString);
writerStream.Flush();
cryptoStream.FlushFinalBlock();
memoryStream.Flush();
//返回加密后的字符串
return (Convert.ToBase64String(memoryStream.GetBuffer(), 0,
(int)memoryStream.Length));
}
return (null);
}
public static String DecryptTripleDES(String valueString)
{
if (valueString != "")
{ //定义TripleDES的Provider
TripleDESCryptoServiceProvider triprovider =
new TripleDESCryptoServiceProvider();
//转换解密的字符串为二进制
byte[] buffer = Convert.FromBase64String(valueString);
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流 CryptoStream cryptoStream = new CryptoStream(memoryStream,
triprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Read);
//定义读IO流
StreamReader readerStream = new StreamReader(cryptoStream);
//返回解密后的字符串
return (readerStream.ReadToEnd());
}
return (null);
}
}//-------------------CookieEncrypt.csusing System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;/// <summary>
/// CookieEncrypt 的摘要说明
/// </summary>
public class CookieEncrypt
{
public CookieEncrypt()
{
//
// TODO: 在此处添加构造函数逻辑
// }
public static void SetCookie(HttpCookie cookie)
{ //设置Cookie
HttpContext.Current.Response.Cookies.Set(cookie);
}
public static void SetCookie(String key, String valueString)
{ //设置加密后的Cookie
key = HttpContext.Current.Server.UrlEncode(key);
valueString = HttpContext.Current.Server.UrlEncode(valueString);
HttpCookie cookie = new HttpCookie(key, valueString);
SetCookie(cookie);
}
public static void SetCookie(String key, String valueString,
DateTime expires)
{ //设置加密后的Cookie,并设置Cookie的有效时间
key = HttpContext.Current.Server.UrlEncode(key);
valueString = HttpContext.Current.Server.UrlEncode(valueString);
HttpCookie cookie = new HttpCookie(key, valueString);
cookie.Expires = expires;
SetCookie(cookie);
}
public static void SetTripleDESEncryptedCookie(String key,
String valueString)
{ //设置使用TripleDES加密后的Cookie
key = EncryptString.EncryptTripleDES(key);
valueString = EncryptString.EncryptTripleDES(valueString);
SetCookie(key, valueString);
}
public static void SetTripleDESEncryptedCookie(String key,
String valueString, DateTime expires)
{ //设置使用TripleDES加密后的Cookie,并设置Cookie的有效时间
key = EncryptString.EncryptTripleDES(key);
valueString = EncryptString.EncryptTripleDES(valueString);
SetCookie(key, valueString, expires);
}
public static void SetEncryptedCookie(String key, String valueString)
{ //设置使用DES加密后的Cookie
key = EncryptString.Encrypt(key);
valueString = EncryptString.Encrypt(valueString);
SetCookie(key, valueString);
}
public static void SetEncryptedCookie(String key,
String valueString, DateTime expires)
{ //设置使用DES加密后的Cookie,并设置Cookie的有效时间
key = EncryptString.Encrypt(key);
valueString = EncryptString.Encrypt(valueString);
SetCookie(key, valueString, expires);
}
public static String GetTripleDESEncryptedCookieValue(String key)
{ //获取使用TripleDES解密后的Cookie
key = EncryptString.EncryptTripleDES(key);
String valueString = GetCookieValue(key);
valueString = EncryptString.DecryptTripleDES(valueString);
return (valueString);
}
public static String GetEncryptedCookieValue(String key)
{ //获取使用DES解密后的Cookie
key = EncryptString.Encrypt(key);
String valueString = GetCookieValue(key);
valueString = EncryptString.Decrypt(valueString);
return (valueString);
}
public static HttpCookie GetCookie(String key)
{ //通过关键字获取Cookie
key = HttpContext.Current.Server.UrlEncode(key);
return (HttpContext.Current.Request.Cookies.Get(key));
}
public static String GetCookieValue(String key)
{ //通过关键字获取Cookie的value
String valueString = GetCookie(key).Value;
valueString = HttpContext.Current.Server.UrlDecode(valueString);
return (valueString);
}
}
//--------------------Default.aspx
protected void Page_Load(object sender, EventArgs e)
{
CookieEncrypt.SetEncryptedCookie("aa", "bcd", DateTime.Now.AddDays(1));
Response.Write(CookieEncrypt.GetEncryptedCookieValue("aa")); }
------------------------------------- 输出后显示乱码怎么解决????????????????????????????????????????????????????????
-------------------------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Cryptography;
using System.IO;
/// <summary>
/// EncryptString 的摘要说明
/// </summary>
public class EncryptString
{
public EncryptString()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private static byte[] Key64 = { 42, 16, 93, 156, 78, 4, 218, 32 };
private static byte[] IV64 = { 55, 103, 246, 79, 36, 99, 167, 3 };
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};
private static byte[] IV192 = {55, 103, 246, 79, 36, 99, 167, 3,42,
5, 62,83, 184, 7, 209, 13,145, 23, 200, 58, 173, 10, 121, 222};
public static String Encrypt(String valueString)
{
if (valueString != "")
{ //定义DES的Provider
DESCryptoServiceProvider desprovider =
new DESCryptoServiceProvider();
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
desprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Write);
//定义写IO流
StreamWriter writerStream = new StreamWriter(cryptoStream);
//写入加密后的字符流
writerStream.Write(valueString);
writerStream.Flush();
cryptoStream.FlushFinalBlock();
memoryStream.Flush();
//返回加密后的字符串
return (Convert.ToBase64String(memoryStream.GetBuffer(), 0,
(int)memoryStream.Length));
}
return (null);
} //解密后运行了这里,高手直接看这段
public static String Decrypt(String valueString)
{
if (valueString != "")
{ //定义DES的Provider
DESCryptoServiceProvider desprovider =
new DESCryptoServiceProvider();
//转换解密的字符串为二进制
byte[] buffer = Convert.FromBase64String(valueString);
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
desprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Read);
//定义读IO流
StreamReader readerStream = new StreamReader(cryptoStream);
//返回解密后的字符串
return (readerStream.ReadToEnd());
}
return (null);
}
public static String EncryptTripleDES(String valueString)
{
if (valueString != "")
{ //定义TripleDES的Provider
TripleDESCryptoServiceProvider triprovider =
new TripleDESCryptoServiceProvider();
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流
CryptoStream cryptoStream = new CryptoStream(memoryStream,
triprovider.CreateEncryptor(Key192, IV192),
CryptoStreamMode.Write);
//定义写IO流
StreamWriter writerStream = new StreamWriter(cryptoStream);
//写入加密后的字符流
writerStream.Write(valueString);
writerStream.Flush();
cryptoStream.FlushFinalBlock();
memoryStream.Flush();
//返回加密后的字符串
return (Convert.ToBase64String(memoryStream.GetBuffer(), 0,
(int)memoryStream.Length));
}
return (null);
}
public static String DecryptTripleDES(String valueString)
{
if (valueString != "")
{ //定义TripleDES的Provider
TripleDESCryptoServiceProvider triprovider =
new TripleDESCryptoServiceProvider();
//转换解密的字符串为二进制
byte[] buffer = Convert.FromBase64String(valueString);
//定义内存流
MemoryStream memoryStream = new MemoryStream();
//定义加密流 CryptoStream cryptoStream = new CryptoStream(memoryStream,
triprovider.CreateEncryptor(Key64, IV64),
CryptoStreamMode.Read);
//定义读IO流
StreamReader readerStream = new StreamReader(cryptoStream);
//返回解密后的字符串
return (readerStream.ReadToEnd());
}
return (null);
}
}//-------------------CookieEncrypt.csusing System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;/// <summary>
/// CookieEncrypt 的摘要说明
/// </summary>
public class CookieEncrypt
{
public CookieEncrypt()
{
//
// TODO: 在此处添加构造函数逻辑
// }
public static void SetCookie(HttpCookie cookie)
{ //设置Cookie
HttpContext.Current.Response.Cookies.Set(cookie);
}
public static void SetCookie(String key, String valueString)
{ //设置加密后的Cookie
key = HttpContext.Current.Server.UrlEncode(key);
valueString = HttpContext.Current.Server.UrlEncode(valueString);
HttpCookie cookie = new HttpCookie(key, valueString);
SetCookie(cookie);
}
public static void SetCookie(String key, String valueString,
DateTime expires)
{ //设置加密后的Cookie,并设置Cookie的有效时间
key = HttpContext.Current.Server.UrlEncode(key);
valueString = HttpContext.Current.Server.UrlEncode(valueString);
HttpCookie cookie = new HttpCookie(key, valueString);
cookie.Expires = expires;
SetCookie(cookie);
}
public static void SetTripleDESEncryptedCookie(String key,
String valueString)
{ //设置使用TripleDES加密后的Cookie
key = EncryptString.EncryptTripleDES(key);
valueString = EncryptString.EncryptTripleDES(valueString);
SetCookie(key, valueString);
}
public static void SetTripleDESEncryptedCookie(String key,
String valueString, DateTime expires)
{ //设置使用TripleDES加密后的Cookie,并设置Cookie的有效时间
key = EncryptString.EncryptTripleDES(key);
valueString = EncryptString.EncryptTripleDES(valueString);
SetCookie(key, valueString, expires);
}
public static void SetEncryptedCookie(String key, String valueString)
{ //设置使用DES加密后的Cookie
key = EncryptString.Encrypt(key);
valueString = EncryptString.Encrypt(valueString);
SetCookie(key, valueString);
}
public static void SetEncryptedCookie(String key,
String valueString, DateTime expires)
{ //设置使用DES加密后的Cookie,并设置Cookie的有效时间
key = EncryptString.Encrypt(key);
valueString = EncryptString.Encrypt(valueString);
SetCookie(key, valueString, expires);
}
public static String GetTripleDESEncryptedCookieValue(String key)
{ //获取使用TripleDES解密后的Cookie
key = EncryptString.EncryptTripleDES(key);
String valueString = GetCookieValue(key);
valueString = EncryptString.DecryptTripleDES(valueString);
return (valueString);
}
public static String GetEncryptedCookieValue(String key)
{ //获取使用DES解密后的Cookie
key = EncryptString.Encrypt(key);
String valueString = GetCookieValue(key);
valueString = EncryptString.Decrypt(valueString);
return (valueString);
}
public static HttpCookie GetCookie(String key)
{ //通过关键字获取Cookie
key = HttpContext.Current.Server.UrlEncode(key);
return (HttpContext.Current.Request.Cookies.Get(key));
}
public static String GetCookieValue(String key)
{ //通过关键字获取Cookie的value
String valueString = GetCookie(key).Value;
valueString = HttpContext.Current.Server.UrlDecode(valueString);
return (valueString);
}
}
//--------------------Default.aspx
protected void Page_Load(object sender, EventArgs e)
{
CookieEncrypt.SetEncryptedCookie("aa", "bcd", DateTime.Now.AddDays(1));
Response.Write(CookieEncrypt.GetEncryptedCookieValue("aa")); }
------------------------------------- 输出后显示乱码怎么解决????????????????????????????????????????????????????????
-------------------------------------
解决方案 »
- 麻烦各位大大了,一个图片操作的问题需要解决。
- winform焦点问题
- 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
- 字符串 和 SqlParameter 查询效率问题,比较难解决的问题。
- 多schema文件的代码生成
- VS2005 Pro里面找不到可以对office开发的工程,咋回事??
- 在线请教DataGrid的问题QQ:75789214
- 在FORM之间传递消息
- 这个Web Application怎么改写成Windows application,很简单,送分,小弟等急用,谢!!
- 在Visual Studio 2010中的c#环境下一个窗体中怎样引用另一个窗体中文本框中录入的字符
- WMEncoderSDK 音频问题
- .net显示访问者省市该 怎么写啊
public static class Des
{
//加密
public static string Encrypting(string Source, string Key)
{
byte[] buffer1 = Encoding.ASCII.GetBytes(Source);
MemoryStream stream1 = new MemoryStream();
SymmetricAlgorithm algorithm1 = new DESCryptoServiceProvider();
byte[] buffer2 = Des.GetLegalKey(algorithm1, Key);
algorithm1.Key = buffer2;
algorithm1.IV = buffer2;
ICryptoTransform transform1 = algorithm1.CreateEncryptor();
CryptoStream stream2 = new CryptoStream(stream1, transform1, CryptoStreamMode.Write);
stream2.Write(buffer1, 0, buffer1.Length);
stream2.FlushFinalBlock();
byte[] buffer3 = stream1.GetBuffer();
int num1 = 0;
num1 = 0;
while (num1 < buffer3.Length)
{
if (buffer3[num1] == 0)
{
break;
}
num1++;
}
stream1.Close();
stream2.Close();
transform1.Dispose();
return Convert.ToBase64String(buffer3, 0, num1);
}
//解密
public static string Decrypting(string Source, string Key)
{
byte[] buffer1 = Convert.FromBase64String(Source);
MemoryStream stream1 = new MemoryStream(buffer1, 0, buffer1.Length);
SymmetricAlgorithm algorithm1 = new DESCryptoServiceProvider();
byte[] buffer2 = Des.GetLegalKey(algorithm1, Key);
algorithm1.Key = buffer2;
algorithm1.IV = buffer2;
ICryptoTransform transform1 = algorithm1.CreateDecryptor();
CryptoStream stream2 = new CryptoStream(stream1, transform1, CryptoStreamMode.Read);
StreamReader reader1 = new StreamReader(stream2);
return reader1.ReadToEnd();
}
private static byte[] GetLegalKey(SymmetricAlgorithm pCryptoService, string Key)
{
string text1 = Key;
pCryptoService.GenerateKey();
int num1 = pCryptoService.Key.Length;
if (text1.Length > num1)
{
text1 = text1.Substring(0, num1);
}
else if (text1.Length < num1)
{
text1 = text1.PadRight(num1, ' ');
}
return Encoding.ASCII.GetBytes(text1);
}
}