发表于: 2020-02-09 20:11:25

1 1219


  1. 今天完成的事情:

  2. 1.1 session和cookie区别?

  3. 1、Cookie 在客户端(浏览器),Session 在服务器端。

  4. 2、Cookie的安全性一般,他人可通过分析存放在本地的Cookie并进行Cookie欺骗。在安全性第一的前提下,选择Session更优。重要交互信息比如权限等就要放在Session中,一般的信息记录放Cookie就好了。

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

  6. 4、Session 可以放在 文件、数据库或内存中,比如在使用Node时将Session保存在redis中。由于一定时间内它是保存在服务器上的,当访问增多时,会较大地占用服务器的性能。考虑到减轻服务器性能方面,应当适时使用Cookie。

  7. 5、Session 的运行依赖Session ID,而 Session ID 是存在 Cookie 中的,也就是说,如果浏览器禁用了 Cookie,Session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 Session ID)。

  8. 6、用户验证这种场合一般会用 Session。因此,维持一个会话的核心就是客户端的唯一标识,即Session ID。

  9. 什么场景适用于session?什么场景适用于cookie?

  10. cookie

  11. 用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,这不属于同一个会话。

  12. 只要添加了就一直存在,只要不是手动的去清除或者expires为默认的过期时间。但是安全性无法保证,而且也无法对客户的喜好进行定量的分析,有个数和长度的限制。

  13. session

  14. 对话的时效性的问题,如果客户选购商品的途中浏览器突然关闭,服务端找不到cookie中的sessionid了,那么选购的商品就不存在了

  15. session是实现购物车的另一种方法。session提供了可以保存和跟踪用户的状态信息的功能,使当前用户在session中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问,

  16. 它与cookie最重大的区别是,session将用户在会话期间的私有信息存储在服务器端,提高了安全性。在服务器生成session后,客户端会生成一个sessionid识别号保存在客户端,以保持和服务器的同步。

  17. 这个sessionid是只读的,如果客户端禁止cookie功能,session会通过在URL中附加参数,或隐含在表单中提交等其他方式在页面间传送。因此利用session实施对用户的管理则更为安全、有效。

  18. 2.1 什么是明文密码?   

  19. “明文密码”(Cleartext Password),即传输或保存为明文的密码。具体是指保存密码或网络传送密码的时候,用的是没有隐藏、直接显示的明文字符,而不是经过加密后的密文。如密码为123,那么密文密码是***,明文密码则是123。从信息安全的角度出发,任何网络服务都不应该保存或发送明文密码。

  20. 2.2    什么是密文密码? ? 

  21.  密文是加了密的的文字,明文是加密之前的文字。密文是对明文进行加密后的报文。

  22. 2.3    为什么不允许在数据库里明文保存密码?

  23. 用明文保存密码有很大的信息安全隐患。

  24. 一般数据库里还存有用户的姓名、手机号、用户名等信息,一旦数据库发生泄漏,再加上用户的明文密码,攻击者就可以用用户名和密码去其他网站尝试登陆(因为往往用户会将多个网站的密码根据习惯设成一样的),一旦登陆成功,就会造成很严重的后果。

  25.  2.4 一般使用的加密方式有哪些?:

  26.  2.4.1.MD5加密

  27. (1)MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

  28. 2.4.一般使用的加密方式有哪些?

  29. 2.4.1.MD5加密

  30. (2)MD5算法具有以下特点:

  31.             1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。

  32.             2、容易计算:从原数据计算出MD5值很容易。

  33.             3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。

  34.             4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

  35. 2.4.一般使用的加密方式有哪些?

  36. 2.4.2.DES加密

  37.  DES设计中使用了分组密码设计的两个原则:混淆(confusion)和扩散(diffusion),其目的是抗击敌手对密码系统的统计分析。混淆是使密文的统计特性与密钥的取值之间的关系尽可能复杂化,以使密钥和明文以及密文之间的依赖性对密码分析者来说是无法利用的。扩散的作用就是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中,以便在大量的密文中消除明文的统计结构,并且使每一位密钥的影响尽可能迅速地扩展到较多的密文位中,以防对密钥进行逐段破译。

  38.  2.4.一般使用的加密方式有哪些?

  39.  2.4.3.RSA加密它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,截止2017年被普遍认为是最优秀的公钥方案之一。

  40. 2.4.一般使用的加密方式有哪些?

  41. 2.4.4.对称加密算法

  42. 加密者和解密者使用相同的密码,这种方式的优点是加解密效率高,缺点是安全系统偏低,因为中除需要传递密钥,所以有被截获的风险。传递密钥的过程常需要和对称加密方式配合使用,如上所述。

  43. 常见的这种方式有 DES,AES.

  44. 优点:算法公开、计算量小、加密速度快、加密效率高、可逆

  45. 缺点:双方使用相同钥匙,安全性得不到保证

  46. 现状:对称加密的速度比公钥加密快很多,在很多场合都需要对称加密

  47. 2.4.一般使用的加密方式有哪些?

  48. 2.4.5.RSA加密(非对称加密算法)

  49. (1)非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)

  50. 非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。

  51. 公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,

  52. 那么只有用对应的公开密钥才能解密

  53. 2.4.一般使用的加密方式有哪些?

  54. 2.4.5.RSA加密(非对称加密算法)

  55. (2)特点:非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了

  56. 2.5.MD5加密的弊端?如何解决?

  57. 由之前MD5的实现方法可知,任何一个相同文件、字符串生成的MD5值都是一样的。比如"123456"的MD5值任何时候生都是"e10adc3949ba59abbe56e057f20f883e"并且,随着现在计算机技术的不断发展,可以通过MD5值去逆推到原来的明文密码。因此就需要在加密时在给它一个随机生成的值,掺到原密码中进行加密。这个值就叫盐值。

明天计划的事情:继续任务
遇到的问题:暂无
收获:对任务的理解更深了。


返回列表 返回列表
评论

    分享到