登录使用cookies记住密码
来源:互联网 发布:python数组值储存空间 编辑:程序博客网 时间:2024/06/07 17:59
UsersBLL bll = new UsersBLL(); private void AutoLogin() { if (Request.Cookies["loginId"] != null && Request.Cookies["pwd"] != null && Request.Cookies["id"] != null) { int cookId = Convert.ToInt32(Request.Cookies["id"].Value); string cookLoginId = Request.Cookies["loginId"].Value; string cookPwd = Request.Cookies["pwd"].Value; UserInfo model = bll.GetUserById(cookId); if (model != null) { string sysPwd = WebComm.MD5Str(model.LoginPwd, cookPwd.Substring(0, 2)); if (model.LoginId == cookLoginId && sysPwd == cookPwd) { GoPage(model); } } } } protected void btLogin_Click(object sender, EventArgs e) { UserInfo model = bll.GetUser(txtUserLogin.Text.Trim(), WebComm.MD5Str(txtPwd.Text.Trim())); if (model == null) { JScript.Alert(this, "用户名或者密码错误!"); return; } //用户勾选记住密码后执行 if (checkPwd.Checked) { string dbcookPwd = WebComm.MD5Str(model.LoginPwd, null); HttpCookie cookId = new HttpCookie("id", model.Id.ToString()); HttpCookie cookLoginId = new HttpCookie("loginId", model.LoginId); HttpCookie cookPwd = new HttpCookie("pwd", dbcookPwd); cookId.Expires = DateTime.Now.AddMonths(1); cookLoginId.Expires = DateTime.Now.AddMonths(1); cookPwd.Expires = DateTime.Now.AddMonths(1); Response.Cookies.Add(cookLoginId); Response.Cookies.Add(cookPwd); Response.Cookies.Add(cookId); } GoPage(model); } private void GoPage(UserInfo model) { Session["id"] = model.Id; Session["loginId"] = model.LoginId; Session["name"] = model.Name; string url = "~/Default.aspx"; if (Request.QueryString["return"] != null) { url = Request.QueryString["return"]; } Response.Redirect(url); }
应用到的方法
#region MD5 加密字符串 +string MD5Str(string str) /// <summary> /// MD5 加密字符串 /// </summary> /// <param name="rawPass">源字符串</param> /// <returns>加密后字符串</returns> public static string MD5Str(string str) { // 创建MD5类的默认实例:MD5CryptoServiceProvider MD5 md5 = MD5.Create(); byte[] bs = Encoding.UTF8.GetBytes(str); byte[] hs = md5.ComputeHash(bs); StringBuilder sb = new StringBuilder(); foreach (byte b in hs) { // 以十六进制格式格式化 sb.Append(b.ToString("x2")); } return sb.ToString(); } #endregion #region 返回 对字符串MD5之后 加上随机生成的盐值之后 再MD5 的字符串 +string MD5Str(string str, string salt) /// <summary> /// 返回 对字符串MD5之后 加上随机生成的盐值之后 再MD5 的字符串 /// </summary> /// <param name="str"></param> /// <param name="salt">如果为null,则为字符串进行两次MD5加密算法</param> /// <returns></returns> public static string MD5Str(string str, string salt) { if (salt == null) { Random r = new Random(); salt = ((char)r.Next(65, 91)).ToString() + ((char)r.Next(65, 91)).ToString(); } return salt + MD5Str(salt + MD5Str(str)); } #endregion
- 登录使用cookies记住密码
- COokies记住用户名和密码
- 记住密码Cookies的应用
- 登录页面使用Cookie 记住密码
- php使用cookie完成登录记住密码
- 用户登录记住密码----SharedPreferences的使用
- javascript中cookie使用--登录记住密码
- 登录实现记住密码
- 登录时记住密码
- android登录记住密码
- 记住密码登录
- jquery记住登录密码
- 登录记住密码
- 登录界面 记住密码
- JavaScript登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- 用户登录记住密码
- SQL 2005身份证函数包含验证和15位转18位
- 算法分析 KMP算法
- Socket阻塞与非阻塞,同步于异步,I/O模型
- win7中如何设置任务计划程序
- C语言学习笔记9
- 登录使用cookies记住密码
- MCFW与 codec engine区别
- css 文本两端对齐
- &无须插件!用WIN$Man安装win7更轻松&【xpghost】
- Windows平台下载Android源码
- 面向对象总结-03-----黑马程序员
- 浙江大学PAT上机题解析之3-04. 一元多项式的乘法与加法运算
- android开发播放声音文件
- 工资的安全感调查