jwt实现过程
JWT(json web token)
与传统的token相比,jwt无需在服务端保存token
流程图:

jwt实现过程 :
jwt生成的token由3部分组成,每一部分用.进行连接
1 header
{
“alg”: “HS256”
“typ”: “JWT”
}
对此json进行base64url加密,token的第一部分
2 payload (自定义值)
{
“id”: “123”, #从浏览器中获取的用户id
“name”:"test", #从浏览器中获取的用户用户名
“exp”: 1233444 #超时时间
}
对此json进行base64url加密,token的第二部分
注:最好不要把密码传进来,能根据算法反解出来
3 SIGNATURE部分
将第一部分和第二部分密文用.拼接,然后对拼接后的(密文+ 加盐) 进行加密(加密算法为第已部分中的算法),然后再对加密后的部分进行base64url加密,得到token的第三部分
可以按照下面的方式理解:
base64url(
HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload),
your-256-bit-secret (秘钥加盐) )
)
最后将三段通过.拼接就是jwt的token
注意:base64url加密是先做base64加密,然后再将 - 替代 + 及 _ 替代 / 。
浙公网安备 33010602011771号