对于初学者来说,对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. HTTP基础--请求

    请求,由客户端向服务器端发出,可以分为4部分:请求方法(Request Method),请求的网址(Request URL),请求头(Request Headers),请求体(Request Body ...

  2. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!

    前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...

  3. IDEA的主题配置

    搞了半天的主题配色,从一些现有的主题网站上想找按照sublime中monokai进行复刻的主题,都没有找到一样的,部分的颜色还会让人看不清楚,这里分享一下自定义主题的方法,和自己配置好的一个主题吧. ...

  4. day37:MySQL基本操作

    目录 part1:登录mysql的完整语法 part2:查询用户/设置密码/去除密码 part3:给ip/网段/所有ip设置账号密码 part4:查看权限 part5:添加权限/删除权限/删除用户 p ...

  5. 区块链入门到实战(6)之区块链 – 哈希(Hash)

    密码学中,最重要的函数之一是哈希函数.哈希函数将任意大小的数据(内容)映射到固定大小的数据(哈希值). 哈希函数是单向的,从内容生成哈希值很容易,但从哈希值映射到内容很难. 比特币使用SHA-256哈 ...

  6. 有了MDL锁视图,业务死锁从此一目了然

    摘要:MDL锁视图让一线运维人员清晰地查看数据库各session持有和等待的元数据锁信息,从而找出数据库MDL锁等待的根因,准确地进行下一步决策. 当多用户共同存取数据时,数据库中就会产生多个事务同时 ...

  7. SpringMVC中前端Form表单提交后跳转不过去的问题

    今天晚上打算谢谢Spring整合这个内容,写的差不多之后运行 出现了各种问题 逐一排查 首先有一个(MyEclipse10) 一: class path resource [spring-mvc.xm ...

  8. 【原创】Kuberneters-ConfigMap的实践

    一.什么是ConfigMap        ConfigMap翻译过来即为“配置字典”,在实际的生产环境中,应用程序配置经常需要且又较为复杂,参数.config文件.变量等如果直接打包到镜像中,将会降 ...

  9. Netty源码分析之ByteBuf(一)—ByteBuf中API及类型概述

    ByteBuf是Netty中主要的数据容器与操作工具,也是Netty内存管理优化的具体实现,本章我们先从整体上对ByteBuf进行一个概述: AbstractByteBuf是整个ByteBuf的框架类 ...

  10. ABP VNext实践之搭建可用于生产的IdentityServer4

    一.前言 用了半年多的abp vnext,在开发的效果还是非常的好,可以说节省了很多时间,像事件总线.模块化开发.动态API进行远程调用.自动API控制器等等,一整套的规范,让开发人员更方便的集成,提 ...