发表于: 2017-10-27 23:55:17
2 636
今天完成的事情;
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
评论