jwt与base64和base64url

base64编码

效果:使用64个可打印的字符来表示二进制数据的方法。

A-Z a-z 0-9 + /

一共64个字符,本质上是进行表示,并不是加密(但如果打乱字符顺序,也可以达到加密的效果)

具体原理见博客:[一篇文章弄懂Base64编码原理_mijichui2153的博客-CSDN博客]()

base64Url编码

base64编码将’+’、’/‘替换成’-’、’_’,将=去掉,就成为了base64url编码,因为这三个字符在url有特殊意义。

JWT

json web token

JWT是一种用户认证方案,用于保持登录等。

  • 用户进行登录,用户名和密码传给后端

  • 后端对header和payload进行base64Url编码,再用字符 ‘.’ 进行连接

  • 配置一个密钥(只有后端持有),对编码后的串进行签名,得到一个token字符串

  • 将token字符串传给客户端

  • 之后每次客户端发起有权限限制的请求时,都在请求头中的authorization中携带这个token字符串(记得前面加上Bearer + 空格)

  • 后端每次拿到请求,先检查(当然是用之前那个密钥进行解密)这个token是否过期,是否正确,通过后再进行其他响应

jwt的header中:

  • 'alg':'HS256'

  • 'typ': 'JWT'

表示所用的签名算法,以及令牌(token)类型,token也分类型的,这里的类型是jwt令牌

payload:

payload就是传输的具体内容,默认不加密,所以敏感的内容,比如密码,不加密的情况下就不要往里放。

参考阮一峰先生的博客:JSON Web Token 入门教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值