token 加密解密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了token 加密解密相关的知识,希望对你有一定的参考价值。
参考技术A ..
(三种不同的信息)
第一部分:红色 令牌Header--头部包含所使用的签名算法和令牌的类型
"alg": "HS256", "typ": "JWT" 经过Base64Url 编码以后,结果大致如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
第二部分:绿色 载荷payload--数据实体
data: username: 'abc', password: '111111' ,
exp: 1591933872,
iat: 1591930272
注:atob:ASCII-to-Binary 解密-返回一个正常字符串;
btoa:Binary-to-ASCII 加密-返回一个 Base64 表示的字符串
第三部分:蓝色 签名Signature--是对前两部分的防篡改签名。将Header和Payload用Base64URL编码后,再用点(.)连接起来。然后使用签名算法和密钥对这个字符串进行签名。
signature = hmac_sha256(base64encode(header) + '.' + base64encode(payload), 'MY_SUPER_SECRET_KEY')
注:这个密钥(MY_SUPER_SECRET_KEY)只有服务器才知道,不能泄露给用户。
token令牌和jwt
用户登录,后端生成token返回给前端
前端拿到token,以后每次登录使用header里的token进行权限验证
后端接收到前端传来的token,如果是通过数据库或redis或session进行比对验证,这种方式为令牌验证
后端接收到前端传来的token,如果是通过一套加密解密算法来确定用户的身份是否合法,这种方式为jwt
前端并不进行加密和解密的处理,只是用一个载体存住token,这个token是解密验证也好还是通过数据库比对也好,都是后端自抛自接
可能现在还不完全正确,先记录下来
https://blog.csdn.net/cjs5202001/article/details/80228937?utm_source=blogxgwz0
https://blog.csdn.net/u012129607/article/details/78685356
https://www.jianshu.com/p/836df92c06eb
以上是关于token 加密解密的主要内容,如果未能解决你的问题,请参考以下文章
token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)