using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Security.Cryptography; using System.Text; using System.IO; namespace demo ... { /**//// <summary> /// WebForm5 的摘要说明。 /// </summary> public class WebForm5 : System.Web.UI.Page ...{ protected System.Web.UI.WebControls.TextBox TextBox2; protected System.Web.UI.WebControls.Button Button3; protected System.Web.UI.WebControls.Button Button4; protected System.Web.UI.WebControls.TextBox TextBox1; protected System.Web.UI.WebControls.TextBox EncryptStr; protected System.Web.UI.WebControls.TextBox str; public SymmetricAlgorithm DES_SP; private void Page_Load(object sender, System.EventArgs e) ...{ //initDes(); } private SymmetricAlgorithm InitDes() ...{ return new DESCryptoServiceProvider();//用DES } string EncryptString(string Value) ...{ ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; ct = DES_SP.CreateEncryptor(DES_SP.Key, DES_SP.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 string DecryptString(string Value) ...{ ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; ct = DES_SP.CreateDecryptor((byte[])Session["K"], (byte[])Session["S"]); 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()); } Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) ...{ // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() ...{ this.Button3.Click += new System.EventHandler(this.Button3_Click); this.Button4.Click += new System.EventHandler(this.Button4_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button3_Click(object sender, System.EventArgs e) ...{ DES_SP=InitDes(); DES_SP.GenerateKey(); Session["K"]=DES_SP.Key; TextBox1.Text=Convert.ToBase64String(DES_SP.Key); DES_SP.GenerateIV(); Session["S"]=DES_SP.IV; TextBox2.Text=Convert.ToBase64String(DES_SP.IV); EncryptStr.Text= EncryptString(str.Text); } private void Button4_Click(object sender, System.EventArgs e) ...{ try ...{ DES_SP=SetEnc(); EncryptStr.Text=DecryptString(str.Text); } catch ...{ Page.RegisterClientScriptBlock("","<script>alert('解密失败!')</script>"); } } }}