前台
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
用户名:<asp:TextBox ID="txtusername" runat="server"></asp:TextBox>
<br />
密码:<asp:TextBox ID="txtpasswrod" runat="server"></asp:TextBox>
<br />
记住我:<asp:CheckBox ID="ckme" runat="server" />
自动登录:<asp:CheckBox ID="ckdeng" runat="server" />
<br />
<asp:Button ID="btnsave" runat="server" Text="登录" οnclick="btnsave_Click" />
</div>
</form>
</body>
</html>
后台
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Cryptography;
using System.Text;
using System.IO;
namespace js
{
public partial class jsdenglu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.Cookies["username"] != null && Request.Cookies["password"] == null)
{
txtusername.Text = Request.Cookies["username"].Value;
}
if (Request.Cookies["username"] != null && Request.Cookies["password"] != null)
{
txtusername.Text = Request.Cookies["username"].Value;
txtpasswrod.Text = Request.Cookies["password"].Value;
}
}
}
protected void btnsave_Click(object sender, EventArgs e)
{
if (ckme.Checked==true)
{
HttpCookie cookieme = new HttpCookie("username");
cookieme.Value = txtusername.Text;
cookieme.Expires = DateTime.Now.AddDays(7);
Response.Cookies.Add(cookieme);
}
if (ckdeng.Checked == true)
{
HttpCookie cookieusername = new HttpCookie("username");
cookieusername.Value = txtusername.Text;
cookieusername.Expires = DateTime.Now.AddDays(7);
Response.Cookies.Add(cookieusername);
HttpCookie cookiepassword = new HttpCookie("password");
cookiepassword.Value = txtpasswrod.Text;
cookiepassword.Expires = DateTime.Now.AddDays(7);
Response.Cookies.Add(cookiepassword);
}
Response.Write("<script>alert('登录成功!');</script>");
}
//加密
public static string Encode(string str, string key)
{
try
{
DESCryptoServiceProvider provider = new DESCryptoServiceProvider
();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(str);
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream,
provider.CreateEncryptor(), CryptoStreamMode.Write);
stream2.Write(bytes, 0, bytes.Length);
stream2.FlushFinalBlock();
StringBuilder builder = new StringBuilder();
foreach (byte num in stream.ToArray())
{
builder.AppendFormat("{0:X2}", num);
}
stream.Close();
return builder.ToString();
}
catch
{
return "不是用Encrypt加密的字符串,加密失败!";
}
}
//解密
public static string Decode(string str, string key)
{
try
{
DESCryptoServiceProvider provider = new DESCryptoServiceProvider
();
provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));
provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));
byte[] buffer = new byte[str.Length / 2];
for (int i = 0; i < (str.Length / 2); i++)
{
int num2 = Convert.ToInt32(str.Substring(i * 2, 2), 0x10);
buffer[i] = (byte)num2;
}
MemoryStream stream = new MemoryStream();
CryptoStream stream2 = new CryptoStream(stream,
provider.CreateDecryptor(), CryptoStreamMode.Write);
stream2.Write(buffer, 0, buffer.Length);
stream2.FlushFinalBlock();
stream.Close();
return Encoding.GetEncoding("GB2312").GetString(stream.ToArray
());
}
catch
{
return "不是用Encrypt加密的字符串,解密失败!";
}
}
}
}