JSON Web Token就是JWT的全名,用途比较广泛的验证信息的方式。
JWT的简介
JWT由三部分构成,分别是头部(header),载荷(payload),和签名(signature)。三部分由两个.
分隔。
签名(signature)是由头部(header),和载荷(payload)经过加密算法和秘钥加密得出,秘钥不泄露的情况下能判断出数据是否被修改。
生成token
用到的Python模块 json
, base64
, hmac
, hashlib
先设置头部信息
头部信息包括两部分内容
1、声明类型,这里是jwt
2、声明加密的算法 通常直接使用 HMAC SHA256
header = { 'typ': 'JWT', 'alg': 'HS256' }
将字典类型的头部使用JSON模块转成JSON字符串类型,并且编码成字节类型文件,再用base64编码,然后解码后得到字符串就是token的第一部分
header = base64.b64encode(json.dumps(header).encode()).decode()
载荷部分,存用户的相关信息,不要存敏感信息,这和头部的内容都可被解码看到
p