首先安装pip install PyJWT
# -*- coding: utf-8 -*-/
import jwt
import datetime
SECRET_KEY = 'abc123'
try:
dic = {
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=1), # 过期时间
'data': { # 加密内容
'user_name': 'xiaoming',
'email': 'xiaoming@taijihuabao.com',
},
}
# 加密,生成token字符串
token = jwt.encode(dic, SECRET_KEY, algorithm='HS256')
print(token)
# 解密,校验签名
payload = jwt.decode(token, SECRET_KEY, algorithms='HS256')
print(payload)
except Exception as e:
print(e)
!!!不用密钥直接解析第二段的内容,通过base64直接解析
Python实现:
# -*- coding: utf-8 -*-/
import base64
import json
token = "t1.t2.t3"
token_body = token.split('.')[1]
result = json.loads(base64.b64decode(token_body + '==').decode('utf-8'))
Java实现:
import java.util.Base64;
public class Test {
public static void main(String[] args) {
String token = "t1.t2.t3";
String [] split = token.split("\\.");
String tokenBody = split[1];
Base64.Decoder decoder = Base64.getDecoder();
result = new String(decoder.decode(tokenBody));
}
}