使用Cookie实现记住密码,并且密码加密

阅读: 评论:0

使用Cookie实现记住密码,并且密码加密

使用Cookie实现记住密码,并且密码加密

Cookie实现记住密码

做项目的时候,会有登录功能,就会有一个记住我的功能,我们常常选择使用Cookie来存信息。

为什么用Cookie呢?
1.HTTP协议是无状态的,服务器无法记录用户上一次的操作,这样就造成了交互上的阻碍。而Cookie就可以做到绕开HTTP的无状态。服务器借由从Cookie中读取包含的信息,借以维护用户和服务器会话中的状态。
2.Cookie缓存的信息是存到你的硬盘上的,而且你电脑关机也不会造成数据的丢失,最重要的是,你可以设置Cookie的保存时间,从建立Cookie开始,经过这么久,它就会销毁.

  1. 登录的界面代码 login.html
<div class="form_input clearfix"><form><ul><li><input type="text" name="nickname" class="name_input" id="nickname" placeholder="请输入用户名" id="nickname"></li><li><input type="password" name="pwd" class="pwd_input" id="pwd" placeholder="请输入密码" id="pwd"></li><li><div class="more_input clearfix"><input type="checkbox" checked id="remember"><label for="remember" >记住我</label></div></li><li><input type="button" value="登录" class="submit_input" onclick = "login()"></li></ul></form>
</div>
  1. login.js:判断是否要存cookie,使用MD5对密码进行加密。使用md5加密解密需要用到两个js文件.md5加密解密js文件
    分两步:
    (1)点击登录的时候判断用户是否勾选了记住我复选框,如果选中传一个判断值交给后台处理。
    (2)每次进入到login.html页面,一进入页面之前就要判断,是否有cookie数据,有的话,就取出来。
//模拟登陆
function login(){//获取用户名var nickname = $("#nickname").val();//获取密码var pwd = $("#pwd").val();//传过去一个MD5加密过的密码  便于存cookievar md5pwd=$.base64.btoa(encodeURIComponent(pwd));//判断是否要使用记住密码和用户名var flag=0;if($("#remember").prop("checked") ){//选择了记住我flag=1;}//发送请求 登录$.post("member/login",{nickName:nickname,pwd:pwd,flag:flag,md:md5pwd},function(data){data=parseInt($.trim(data));if(data>0){//登录成功//跳转转网页location.href = "member/index";	}else{alert("用户名或密码错误");location.href = "login.html";}},"text")	
}//每次一进入到login.html都要进行判断是否有cookie
$(function(){//取cookie	var str&#kie;var pwd=str.split(";")[0].split("-")[1];var pwd = decodeURIComponent($.base64.atob(pwd));//解密$("#nickname").val(str.split(";")[0].split("=")[1].split("-")[0]);$("#pwd").val(pwd);
})
  1. 后台存cookie的处理代码:MemberInfoController.java
@Controller
@RequestMapping("/member")
public class MemberInfoController{@Autowiredprivate IMemberInfoBiz memberInfoBiz;@RequestMapping("/login")@ResponseBodypublic int Login(@RequestParam Map<String,Object> map,HttpSession session,HttpServletResponse response) throws UnsupportedEncodingException, NoSuchAlgorithmException{int result=-1;MemberInfo member=memberInfoBiz.login(map);if(member!=null){//登陆成功// 判断是否要存cookieif("1".("flag"))){//说明勾选了记住我//获取到用户名和密码String loginInfo&#("nickName")+"-"&#("md");//实例化Cookie对象Cookie userCookie = new Cookie("LoginInfo",loginInfo);//设置编码集de(loginInfo,"utf-8");//设置cookie的生命周期   7天userCookie.setMaxAge(60*60*24*7);userCookie.setPath("/");response.addCookie(userCookie);}result=1;}return result;}
}

本文发布于:2024-02-03 06:13:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170691203649173.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:密码   Cookie
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23