对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?

session机制:就是一个id号(cookie里面携带一个sessionid),所有客户的有效信息都存在服务端,只要产生sessionid后,客户端每次携带这个id就可以了,

      就是所有的数据信息都在服务端,每次请求来服务端,得到sessionid里面,再到数据库里面,再到自己后端去查,看sessionid对应得是哪个客户得信息,就知道是哪个客户了。

1、Token引入:在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,然后判断用户名和密码是否正确,并作出相应提示

2、Token:是服务端 把用户的有效信息 生成的一串字符串,直接放到Token里面,以作客户端进行请求的一个令牌。就不用频繁的去数据库查询

        第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

3、如何知道传的Token值没有被篡改?或者用户等级只有一级,说自己是三级?如何去验证的?

答:因为Token有个叫哈希算法的,可以把 任意长度的数据(字节串)计算出一个为固定长度的结果数据。

hash算法是不可逆的,是只有服务端能产生这样的数据,然后服务端产生的数据,跟密钥去进行验证就可以了

4、如果是Token机制,是否需要去测试它是否被篡改?

答:如果是Token机制,有必要去验证一下,作为测试,站在对系统不信任的角度,应该去测一下,(拿不到服务端的密钥,可以去伪造一个密钥)

如果开发人员对这个机制不了解,本来是写的,每次改的时候,临时去掉,后来忘记写,直接打包到生产环境里面去,大家都可以伪造了,

所以,毫无疑问应该去测试!!!

5、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

6、应用场景1:校验拷贝下载文件:

下载大文件,由于种种原因,可能会出现传输出错的,校验 下载的文件 是不是 毫无差错?

使用哈希算法:1、下载的网站上,先提供 源文件的 的 哈希值

       2、下载完后,在我们的电脑上,把本地下载到的 文件也计算哈希值

3、比对,如果相等,下载没有问题

7、 应用场景1:校验信息有效性:

每年开学时,学生到 管理部 交学费,手机上发一条信息 张三,学费已交,张三带着这个手机信息到 教学部 领书,担心手机短信是伪造的

管理部的人,张三,学费已交|13ty8ffbs2v   (哈希算法计算)

教学部的人,张三,学费已交|13ty8ffbs2v   (哈希算法计算)

密匙:13ty8ffbs2v(只有管理部跟教学部知道),如果相等,说明短信,没有伪造

8、Python语言计算哈希值(hash算法是不可逆的)

9、加密解密(加解密算法 是可逆的)

对称加密:指 加密和解密 使用相同的 密钥

      常见的 对称加密算法有: AES, RC4, DES, 3DES, IDEA 等(安全等级较高的是 AES)

不对称加密:指 加密和解密 使用不同的 密钥

      通常是一对密钥,称之为公钥(用来加密)和私钥(用来解密)(不对称加密系统 就是 RSA )

Python语言加解密:pip install cryptography 安装该库

Token机制,session机制的更多相关文章

  1. Session机制详解

    转自:http://justsee.iteye.com/blog/1570652 虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能 ...

  2. 【转】理解cookie和session机制

    cookie和session机制之间的区别与联系 具体来说cookie机制采用的是在客户端保持状态的方案.它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持.cookie的作用就 ...

  3. 理解session机制

    理解session机制 session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息. 当程序需要为某个客户端的请求创建一个session的时候,服务器首 ...

  4. cookie和session机制

    一.cookie和session机制之间的差别和联系 1.cookie机制 Cookie意为"甜饼",是由W3C组织提出,最早由Netscape社区发展的一种机制. 眼下Cooki ...

  5. cookie,Session机制的本质,跨应用程序的session共享

    目录:一.术语session二.HTTP协议与状态保持三.理解cookie机制四.理解session机制五.理解javax.servlet.http.HttpSession六.HttpSession常 ...

  6. JavaWeb---总结(十九)Session机制

    一.术语session session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session.有时候我们可 ...

  7. cookie和session机制区别

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  8. 正确理解cookie和session机制原理

    php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧. cookie和 ...

  9. session 机制和 httpsession 详解 (转载)

    https://www.cnblogs.com/bjanzhuo/archive/2013/02/27/3575884.html 一.术语session 在我的经验里,session这个词被滥用的程度 ...

随机推荐

  1. 第3篇 Scrum 冲刺博客(专✌️团队)

    目录 一.站立式会议 1.1 会议照片 1.2 成员完成情况 二.项目燃尽图 三.成员代码/文档签入记录 3.1 代码签入 3.2 Issue链接 3.3 CodeReview代码规范文档 四.最新项 ...

  2. 如何在Linux上使用xargs命令

    大家好,我是良许. 在使用 Linux 时,你是否遇到过需要将一些命令串在一起,但是其中一个命令不接受管道输入的情况呢?在这种情况下,我们就可以使用 xargs 命令.xargs 可以将一个命令的输出 ...

  3. RabbitMQ高级之如何保证消息可靠性?

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第四弹. RabbitMQ我已经写了三篇了,基础的收发消息和基础的概念我都已经写了,学任何东西都是这样,先 ...

  4. 《HelloGitHub》第 53 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

  5. python实现对列表的增删查修操作

    #定义一个空列表 list_demo=[] #1,向列表中插入元素 def append_demo(): #第一种使用append,可以在列表末尾添加一个函数 for i in range(2): l ...

  6. lynx浏览器使用教程

    http://www.wocaoseo.com/thread-216-1-1.html LYNX浏览器是谷歌官方推荐的一款文本浏览器,主要用来模拟蜘蛛看到您页面时候的样子,谷歌在网站站长指南中提到: ...

  7. 百度与谷歌seo优化的差别

    http://www.wocaoseo.com/thread-126-1-1.html 常有朋友问谷歌(google)和百度(baidu)到底有什么区别?我在纠结这个问题该如何回答.如果从公平公正的角 ...

  8. 【Go语言探险】线上奇怪日志问题的排查

    最近在日志中发现一些奇怪的日志,大致长这样: Error 2020-08-28 06:59:38.813+00:00 ... _msg=get immersion context, fetch tra ...

  9. python习题 随机密码生成 + 连续质数计算

    随机密码生成 描述 补充编程模板中代码,完成如下功能:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪ ...

  10. 记录学习docker命令的随笔

    docker安装与启动 安装docker yum包更新到最新  sudo yum update 安装需要的软件包  sudo yum install -y yum-utils device-mappe ...