问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

一篇文章带你分清楚JWT,JWS与JWE

发布网友 发布时间:2022-09-18 15:35

我来回答

1个回答

热心网友 时间:2023-07-19 11:18

随着移动互联网的兴起,传统基于session/cookie的web网站认证方式转变为了基于OAuth2等开放授权协议的单点登录模式(SSO),相应的基于服务器session+浏览器cookie的Auth手段也发生了转变,Json Web Token出现成为了当前的热门的Token Auth机制。

JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在两个组织之间传递安全可靠的信息。

现在网上大多数介绍JWT的文章实际介绍的都是JWS(JSON Web Signature),也往往导致了人们对于JWT的误解,但是JWT并不等于JWS,JWS只是JWT的一种实现,除了JWS外,JWE(JSON Web Encryption)也是JWT的一种实现。
下面就来详细介绍一下JWT与JWE的两种实现方式:

JSON Web Signature是一个有着简单的统一表达形式的字符串:

头部用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等。
JSON内容要经Base64 编码生成字符串成为Header。

payload的五个字段都是由JWT的标准所定义的。

后面的信息可以按需补充。
JSON内容要经Base64 编码生成字符串成为PayLoad。

这个部分header与payload通过header中声明的加密方式,使用密钥secret进行加密,生成签名。
JWS的主要目的是保证了数据在传输过程中不被修改,验证数据的完整性。但由于仅采用Base64对消息内容编码,因此不保证数据的不可泄露性。所以不适合用于传输敏感数据。

相对于JWS,JWE则同时保证了安全性与数据完整性。
JWE由五部分组成:

具体生成步骤为:

可见,JWE的计算过程相对繁琐,不够轻量级,因此适合与数据传输而非token认证,但该协议也足够安全可靠,用简短字符串描述了传输内容,兼顾数据的安全性与完整性。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 炖汤和煲汤有啥区别 如何辨别老花镜,近视眼镜和平光镜 可以更改吗,怎么更改? 微信怎么修改 怎么更改自己的 可以改吗? 麻花做法 微信怎样修改自己的名字和 微信怎样可以改 远光镜跟老花镜有什么区别 微信里的怎么改,不是名字 如何更改 修改方法 如何辨别老花镜,近视眼镜和太阳镜 老光镜和老花镜的区别 老视镜和老花镜的区别 创维冰箱保鲜门没关紧七个小时会耗多少电? 直冷试冰箱风机不转的后果? 豆豉油麦菜的家常做法大全怎么做好 如何破解“该视频只有上传者本人才能观看” 在东莞虎门镇开一个钓鱼场需要办证件吗?要 前端登陆实现 海尔热水器怎么用最省电 广场舞《社会摇》适合穿什么衣服? 教资笔试报名时非师范填成了师范,面试报名的时候又不能修改资料,这样对之后的认定有影响吗? 教师资格证面试已通过,但是非师范专业填错为师范专业,会影响资格认定吗? 非师范生报考教资的时候填了师范生会有影响吗? 咖啡喝多了对身体有什么害处吗? 6s看爱奇艺突然就白屏怎么回事? 怎么去黑头,要有实际经历的 有什么最有效的办法能去黑头 什么方法去黑头最最最有效啊? 怎样有效的去除黑头 怎样有效的去除黑头?来点实际的! 城市女人可以嫁给农村男人吗?会出现哪些问题? 最有效的去黑头!!! 二婚嫁给一个农村老公,后来怎样? 去黑头有什么办法 对于城市女孩,嫁给农村男人之后过得幸福吗? 三文鱼为何要烟熏? 烟熏的三文鱼味道如何?