类文件代码
using System;
using System.Text;
using System.IO;
using System.Security.Cryptography;
namespace WebApplicationI
{
public abstract class ClassDE
{
public static void Ecode(string strEcode)
{
btnKeyGen();
btnIVGen();
txtEncrypted = EncryptString(strEcode);
//
txtOriginal = DecryptString(txtEncrypted);
}
public static void Dcode(string strEncrypted)
{
txtEncrypted = strEncrypted;
btnKeyGen();
btnIVGen();
txtOriginal = DecryptString(txtEncrypted);
}
public static string Encrypted
{
get
{return txtEncrypted; }
}
public static string Original
{
get{return txtOriginal;}
}
private static SymmetricAlgorithm mCSP;
//下面的两个key值可以自己设置
private static string txtKey = "tkGGRmBErVC=";//设置加密Key
private static string txtIV = "Kl7ZgtM1dvQ=";//设置加密IV
private static string txtEncrypted =string.Empty ,txtOriginal = string.Empty ;
private static void btnKeyGen()
{
mCSP = SetEnc();
byte[] byt2 = Convert.FromBase64String(txtKey);
mCSP.Key = byt2;
}
private static void btnIVGen()
{
byte[] byt2 = Convert.FromBase64String(txtIV);
mCSP.IV = byt2;
}
private static string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
private static string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
private static SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
}
}
}
using System.Text;
using System.IO;
using System.Security.Cryptography;
namespace WebApplicationI
{
public abstract class ClassDE
{
public static void Ecode(string strEcode)
{
btnKeyGen();
btnIVGen();
txtEncrypted = EncryptString(strEcode);
//
txtOriginal = DecryptString(txtEncrypted);
}
public static void Dcode(string strEncrypted)
{
txtEncrypted = strEncrypted;
btnKeyGen();
btnIVGen();
txtOriginal = DecryptString(txtEncrypted);
}
public static string Encrypted
{
get
{return txtEncrypted; }
}
public static string Original
{
get{return txtOriginal;}
}
private static SymmetricAlgorithm mCSP;
//下面的两个key值可以自己设置
private static string txtKey = "tkGGRmBErVC=";//设置加密Key
private static string txtIV = "Kl7ZgtM1dvQ=";//设置加密IV
private static string txtEncrypted =string.Empty ,txtOriginal = string.Empty ;
private static void btnKeyGen()
{
mCSP = SetEnc();
byte[] byt2 = Convert.FromBase64String(txtKey);
mCSP.Key = byt2;
}
private static void btnIVGen()
{
byte[] byt2 = Convert.FromBase64String(txtIV);
mCSP.IV = byt2;
}
private static string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
private static string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Encoding.UTF8.GetString(ms.ToArray());
}
private static SymmetricAlgorithm SetEnc()
{
return new DESCryptoServiceProvider();
}
}
}
前台调用部分
string _sqlConn =" 需要加密的字符串";
Page.Response .Write("加密测试:"+_sqlConn);
Page.Response .Write("<br>");
ClassDE.Ecode (_sqlConn);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Encrypted);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Original);
Page.Response .Write("<br>");
Page.Response .Write("<br>");
Page.Response .Write("<br>");
Page.Response .Write("<br>");
string Encode = " 经过加密的字符串";
Page.Response .Write("解密测试:"+Encode);
Page.Response .Write("<br>");
ClassDE.Dcode (Encode);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Encrypted);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Original);
Page.Response .Write("加密测试:"+_sqlConn);
Page.Response .Write("<br>");
ClassDE.Ecode (_sqlConn);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Encrypted);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Original);
Page.Response .Write("<br>");
Page.Response .Write("<br>");
Page.Response .Write("<br>");
Page.Response .Write("<br>");
string Encode = " 经过加密的字符串";
Page.Response .Write("解密测试:"+Encode);
Page.Response .Write("<br>");
ClassDE.Dcode (Encode);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Encrypted);
Page.Response .Write("<br>");
Page.Response .Write( ClassDE.Original);