发表于: 2017-10-27 23:55:17

2 637


今天完成的事情;


http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的。为了使得web能够保存”状态”cookie是一种在客户端保存状态的方案,session是一种在服务器端保存状态的方案。。一般把登陆信息用session保存

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

完成session的免登录,,,cookie和session有点类似, 

Session的状态是存储在服务器端,客户端只有session id

    @RequestMapping(value = "/u/second", method = RequestMethod.POST)
public String sessionRegist(HttpServletResponse httpServletResponse, HttpServletRequest httpServletRequest, Model model, String userName,
                               String userPassword) {
try {
Integer i = registService.countRegist(userName, userPassword);
           loggerController.info("匹配信息" + i);
           if (i == 1) {
//创建session
               HttpSession session = httpServletRequest.getSession();
//                对session赋值
               session.setAttribute("userName", userName);
               session.setAttribute("userPassword", userPassword);
//                创建一个用来保存sessionid的cookie
               Cookie cookie = new Cookie("session", session.getId());
               //时间
               cookie.setMaxAge(60 * 60 * 24);
//                位置
               cookie.setPath("/");
//                将cookie加入响应中
               httpServletResponse.addCookie(cookie);
//                添加一个属性,用于储存用户的sessionid和对应的session关系
//                以保证后面可以根据sessionid获取到session
               httpServletRequest.getServletContext().setAttribute(session.getId(), session);
               return "/home/home";
           } else {
return "/regist/regist";
           }
} catch (Exception e) {
e.printStackTrace();
           loggerController.error(e.getMessage());
           return "common/errorJson";
       }
}


明天计划的事情:

把DES加密和MD5加密搞出来.

该准备小课堂了.


遇到的问题:

我的账户密码是在数据库里面进行比对,,如果在java里面进行加密的话,就无法匹配数据库账户密码,所以目前的解决方案是使用DES对账号密码加密,,使用MD5对cookie进行加密.

DES加密不知道怎么实现啊,网上看了很多文章,,很复杂.


收获:

学习DES加密.

密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。

DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法.

MD5加密

MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生唯一的MD5信息摘要。


相当于计算某文件的指纹, 这个MD5值目前可以认为是所有文件中针对这个文件唯一的.

可以校验MD5值, 来确定文件是否被修改, 破解, 或丢损; 可以用MD5值保存密码.


任务开始时间2017-10-23

任务结束时间2017-11-05

无延期风险.

禅道;http://task.ptteng.com/zentao/task-view-12588.html



返回列表 返回列表
评论

    分享到