类文件代码
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(); } }}
前台调用部分
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);