发表于: 2017-06-28 22:19:19

1 970


今天完成的事情:

1.DES加密概念

DES全称Data Encryptoin Standard,即数据加密标准,是一种使用秘钥加密的块算法,DES算法为密码体制中的对称码体制,又称为美国数据加密标准。明文按64位进行分组,秘钥长64位,秘钥事实上是56位参与DES运算(第8,16,24,32,40,48,56,64位是校验位,使得每一个秘钥都有奇数个1)分组后的明文组和56位的秘钥按位代替或者交换的方式形成密文组的加密方法。

基本原理

入口参数有三个:key,data,mode。key为加密解密使用的秘钥,data未加密解密的数据,mode为其工作模式、当模式为加密模式时,明文按照64为进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,秘钥只用到了64位中的56位,这样才具有高的安全性。


2.Cookie是什么?

  一个小信息,由服务器写给浏览器的。由浏览器来保存。

  客户端保存的Cookie信息,可以再次带给服务器。

  Cookie类:javax.servlet.http.Cookie

 Cookie的属性:

  name:必须的

  value:必须的

  comment:可选的。注释

  path: 可选的,如果不设置路径,那么只有设置该cookie的URI及其子路径可以访问

      写Cookie的程序的访问路径是:http://localhost:8080/JavaWeb/servlet/CookieDemo

      其中:localhost就是域名;/JavaWeb/servlet就是当前Cookie的path

      若访问的地址的URI包含着cookie的路径,即URI.startWith(cookie的路径),为true,则客户端将该cookie带给服务器。

      比如浏览器存的cookie的路径是/JavaWeb

      现在访问的地址是:http://localhost:8080/JavaWeb/servlet/CookieDemo  则带该cookie

      现在访问的地址是:http://localhost:8080/JavaWeb/CookieDemo  则带该cookie

      若浏览器存的cookie的路径是/JavaWeb/servlet/

      访问的地址是:http://localhost:8080/JavaWeb/servlet/CookieDemo   则带该cookie

      访问的地址是:http://localhost:8080/JavaWeb/CookieDemo   则不带该cookie

      如果一个cookie的路径设置成了/JavaWeb,意味着浏览器访问当前应用下的所有资源时都会带着该cookie给服务器。

  domain:可选的。该Cookie所属的网站域名。(apache.org)默认值。

  maximum age:可选的。不设置就是会话过程(存在浏览器的内存中)。单位是秒

          如果是0,说明要删除。


3.session简介

       Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。使用上比Cookie简单一些,相应的也增加了服务器的存储压力。

       客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session保存在服务器端。为了获得更高的存取速度,服务器一般把Session放在内里。每个用户都会有一个独立的Session。如果Session内容过于复杂,当大量客户访问服务器时可能会导致内存溢出。因此,Session里的信息应该尽量精简。需要注意只有第一次访问JSP、Servlet等程序时才会创建Session,访问HTML、IMAGE等静态资源并不会创建Session。Session生成后,只要用户继续访问,无论是否读写Session,服务器都认为该用户的Session“活跃(active)”了一次。服务器就会更新Session的最后访问时间,并维护该Session。为防止内存溢出,服务器会把长时间内没有活跃的Session从内存删除。这个时间就是Session的超时时间。如果超过了超时时间没访问过服务器,Session就自动失效了,默认的过期时间是30分钟。


4.cookie与session的关系

关系

服务端的session的实现对客户端的cookie有依赖关系的,服务端执行session机制时候会生成session的id值,这个id值会发送给客户端,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是cookie,因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用。

如果客户端浏览器将Cookie功能禁用,或者不支持Cookie时,Java Web提供了另一种解决方案:URL地址重写。

比较

cookie存储在客户端,session存储在服务器端。也因此:cookie相对来说不如session安全

cookie存储大小和数量有限制,session理论上是无限制的。

cookie的销毁:默认为关闭浏览器,设置过期时间后则过期后就会销毁,

session的销毁:某个请求周期内调用了Session.invalidate()方法,session被销毁;或者是session超时后自动销毁;或者客户端关掉浏览器。

  version:可选的。


明天计划的事情:修真院武汉分院宣传视频

遇到的问题:都是概念性的问题,des加密的算法看的不是很清楚

收获:了解了cookie和session,http://blog.csdn.net/fangaoxin/article/details/6952954/这篇博客讲的很好


返回列表 返回列表
评论

    分享到