session,cookie,jwt的简单使用
cookie的使用
https://blog.csdn.net/qq_58168493/article/details/122492358
session的使用
https://blog.csdn.net/qq_45593068/article/details/108585123
jwt,cookie,session关系
https://mp.weixin.qq.com/s/5oFKdbFWgZrwqESNTZn77w
jwt与cookie
https://blog.csdn.net/weixin_45070175/article/details/118559272
个人理解:
cookie,session
cookie是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
用户使用浏览器访问,直到退出,为一个session(会话),浏览器首先判断用户是否是否有cookie,如果没有,用户输入用户名密码登陆后, 服务器会创建一个;如果有,则可以直接访问需要登陆的页面。
服务器创建的cookie里面包含了用户名,密码(加密后),由服务器发送给浏览器,在浏览器之中保存;
在下次登陆时,浏览器携带cookie在request header之中,一起发送给服务器,这样就不再需要用户的二次登陆
session保存在服务器中,cookie保存在浏览器中。
session,token
但是随着用户量的增大,需要负载均衡(使用多台服务器),「如果继续使用session,会造成一个用户在一次的使用中,创建了多个session,所以为了避免这种情况,可以使用jwt」
JWT,即json web token是由3部分组成的,header、payload、signature
header声明使用的签名算法,
payload保存一些数据,比如用户uid,但是不能携带密码等敏感数据,
signature:签名,server根据header使用签名算法,再用密钥对header+payload进行签名
注:签名算法:其共同特点是不可逆,其他的签名算法,比如MD5,sha等等
公钥私钥:使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。
如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密
header、payload:是以一种编码形式存在
jwt可存放在浏览器的cookie/storage中,但是jwt很长,一般存放于storage
为什么使用了签名,就可以防止篡改?
——有两种签名加密方式,对称和非对称加密;非对称加密中,私钥进行加密,公钥进行解密;
私钥首先对原本的文件进行哈希运算,然后进行签名运算(加密),得到数字签名。「此数字签名可以被公钥解密」
公钥对签名进行解密运算,可以得到私钥签名的哈希值,和当前文件的哈希值比较,就可以知道文件的内容是否被篡改。
为了确保签名的文件不被其他人使用他们的私钥签名修改,还需要加上CA数字证书。
总结:
session,cookie,jwt的简单使用的更多相关文章
- 认证 协议 JWT OAuth Session Cookie
本文翻译自Auth-Boss. 如果有翻译的不恰当或不对的地方, 欢迎指出. 成为一个认证老司机, 了解网络上不同的身份认证方法. 本文档的目的是记录和编目Web上的身份验证方法.认证指的是创建一个系 ...
- 快速了解会话管理三剑客cookie、session和JWT
更多内容,欢迎关注微信公众号:全菜工程师小辉.公众号回复关键词,领取免费学习资料. 存储位置 三者都是应用在web中对http无状态协议的补充,达到状态保持的目的 cookie:cookie中的信息是 ...
- java基础之----cookie,session,jwt
概要 web中为什么要引入cookie.session机制,为了验证用户的身份,验证用户的身份是为了系统的安全,那如果是系统和系统之间的API调用怎么办呢?因为系统之间调用往往是没有用户系统的(用户系 ...
- cookie,session,jwt,token,oauth2联系和区别
为啥有这么多的东西? 由于互联网在刚开始设计的时候是展现静态网页为主,没有现在这么多的交互和互动,所以被设计为了无状态,随用随走的简单模式.随着互联网的发展,各种具有和用户交互功能的网站出现,要求用户 ...
- 【项目实践】一文带你搞定Session和JWT的登录认证方式
以项目驱动学习,以实践检验真知 前言 登录认证,估计是所有系统中最常见的功能了,并且也是最基础.最重要的功能.为了做好这一块而诞生了许多安全框架,比如最常见的Shiro.Spring Security ...
- session & cookie(li)
Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...
- web也是区分前端与后端的,session\cookie辨析
<1>Ajax交互方式 Ext.Ajax.request( { //被用来向服务器发起请求默认的url url : "", //请求时发送后台的参数,既可以是Json对 ...
- http之Session&Cookie
百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...
- Asp.net MVC使用Filter解除Session, Cookie等依赖
本文,介绍了Filter在MVC请求的生命周期中的作用和角色,以及Filter的一些常用应用场景. 同时针对MVC中的对于Session,Cookie等的依赖,如何使用Filter解依赖. 如果大家有 ...
随机推荐
- ExtJS 布局-Center布局(Center layout)
更新记录: 2022年6月12日 检查发布. 2022年6月1日 开始. 1.说明 center布局将子项放置在容器的中心. 2.设置布局方法 在父容器中设置 layout: 'center', // ...
- 点亮Arduino内置的LED灯
更新记录 2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年9月3日. 15块软妹币的板子镇楼. 上一篇配置好了开发环境,然后就开始搞第一个小灯的实验了. 原理相当的简单, ...
- js 表面学习 - 认识结构2
单行注释以 // 开头. 多行注释以 /* 开头,以 */ 结尾. 任何位于 /* 和 */ 之间的文本都会被 JavaScript 忽略. JavaScript 数据类型 JavaScript 变量 ...
- iostat、vmstat、iftop命令详解
1.安装iostat命令 yum install sysstat -y 用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]] 常用选项说明: -c:只显示系统 ...
- NC14247 Xorto
NC14247 Xorto 题目 题目描述 给定一个长度为 \(n\) 的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为 \(0\) . 输入描述 第一行一个数 \(n\) 表示 ...
- Android 12(S) 图像显示系统 - drm_hwcomposer 简析(下)
必读: Android 12(S) 图像显示系统 - 开篇 合成方式 合成类型的定义:/hardware/interfaces/graphics/composer/2.1/IComposerClien ...
- npm uninstall和rm直接删除的区别
结论: 1. npm uninstall会备份包本身依赖的node_modules,rm -f会删除整个目录 2. npm uninstall不会删除被依赖的包.即使显式要删除这个包,但它被依赖不会删 ...
- 一题多解,ASP.NET Core应用启动初始化的N种方案[下篇]
[接上篇]"天下大势,分久必合,合久必分",ASP.NET应用通过GenericWebHostService这个承载服务被整合到基于IHostBuilder/IHost的服务承载系 ...
- Solution -「SDOI2011」拦截导弹
Sol. 题目要求一个数对序列的二维最长下降子序列,我们称其为 Q.并求出每一个元素分别在可能的 Q 中出现了多少次. 直接 Dp,时间复杂度 \(O(n^2)\) 不行.考虑 CDQ 分治 ...
- JavaScript数组方法总结及手写
目录 手写数组衍生方法 1.检测是否为数组 2.类数组转化为数组 3.数组扁平化 4.数组去重 5.数组使用Math.max 手写数组内置方法 1. Array.prototype.filter 2. ...