using System;
using System.Collections.Generic;
using System.Web;
using System.Text;
using System.Security.Cryptography;
using System.IO;
/// <summary>
///DESCryption 的摘要说明
/// </summary>
public class DESCryption
{
private Byte[] key;
private Byte[] IV = new Byte[] {0x12,0x34,0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
/// <summary>
/// 解密
/// </summary>
/// <param name="strToDecrypt"></param>
/// <param name="strEncryptKey"></param>
/// <returns></returns>
public string Decrypt(string strToDecrypt,string strEncryptKey)
{
try
{
key = Encoding.UTF8.GetBytes(strEncryptKey.Substring(0, 8));
Byte[] inputByteArray = Convert.FromBase64String(strToDecrypt);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Encoding.UTF8.GetString(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 加密
/// </summary>
/// <param name="strToEncrypt"></param>
/// <param name="strEncryptKey"></param>
/// <returns></returns>
public string Encrypt(string strToEncrypt, string strEncryptKey)
{
try
{
key = Encoding.UTF8.GetBytes(strEncryptKey.Substring(0, 8));
Byte[] inputByteArray = Encoding.UTF8.GetBytes(strToEncrypt);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
}
调用:添加一页面,命名为EncryptURL.aspx,添加一按钮,代码如下.
protected void Page_Load(object sender, EventArgs e)
{
if (Request["User"] != null)
{
DESCryption encrypt = new DESCryption();
Response.Write(encrypt.Decrypt(Request["User"].ToString(),encryptKey));
}
}
private string encryptKey = "#!12^0#@";
private string userName = "张三";
protected void Button1_Click(object sender, EventArgs e)
{
DESCryption encrypt = new DESCryption();
Response.Redirect(string.Format("EncryptURL.aspx?User={0}",encrypt.Encrypt(userName,encryptKey)));
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/iStarSoft/archive/2009/07/19/4359081.aspx