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 加密解密的主要内容,如果未能解决你的问题,请参考以下文章

AES-加密解密工具类

token令牌和jwt

MD5加密以及登录获取设置token

token 案例,只是测试,功能并不完善(只是看看token 到底是何方神圣)

使用“Paseto Token”生成的“token”能否像“JWT Token”一样进行解密和查看?

4.加密与token(node+express)