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解依赖. 如果大家有 ...
随机推荐
- VTK 截图
vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等.本文主要介绍如何 ...
- 7.脚本三剑客之awk
脚本三剑客之awk 目录 脚本三剑客之awk awk介绍 awk工作原理 awk命令格式 awk基础用法 awk命令高级用法 date命令使用 awk介绍 AWK 是一种处理文本文件的语言,是一个强大 ...
- vue-cli在webpack环境下怎样生成开发环境模板(适合初学者)
1.事先安装好cnpm(淘宝镜像) npm install -g cnpm --registry=https://registry.npm.taobao.org 这是网址,可以自己用命令行工具输入命令 ...
- Spring Data JPA系列5:让IDEA自动帮你写JPA实体定义代码
大家好,又见面了. 这是本系列的最后一篇文档啦,先来回顾下前面4篇: 在第1篇<Spring Data JPA系列1:JDBC.ORM.JPA.Spring Data JPA,傻傻分不清楚?给你 ...
- 工具箱之 IKVM.NET 项目新进展
在各种群里经常讨论的一个事情是.NET 如何调用 Java 的实现,最常见的场景之一就是在加解密方面Java提供的密钥,C#无法解密, C#中byte范围是[0,255],而Java中的byte范围是 ...
- 用 PyQt5 快速构建一个简单的 GUI 应用
1. 介绍 Python GUI 常用的 3 种框架是:Tkinter.wxpython.PyQt5 PyQt5 基于 Qt,是 Python 和 Qt 的结合体,可以用 Python 语言编写跨平台 ...
- NC17400 gpa
NC17400 gpa 题目 题目描述 Kanade selected n courses in the university. The academic credit of the i-th cou ...
- ctfshow的web入门171
web入门171 看到这个查询语句,我们可以进行相关操作 $sql = "select username,password from user where username !='flag' ...
- [开源] .Net ORM 访问 Firebird 数据库
前言 Firebird 是一个跨平台的关系数据库系统,目前能够运行在 Windows.linux 和各种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能.它既能作为多用户环境下的数据库服 ...
- 活动报名:以「数」制「疫」,解密 Tapdata 在张家港市卫健委数字化防疫场景下的最佳实践
疫情两年有余,全国抗疫攻防战步履不停.在"动态清零"总方针的指导下,国内疫情防控工作渐趋规范化.常态化.健康码.行程卡.疫情地图.电子哨兵.核酸码.场所码--各类精准防疫手 ...