python中封装token问题
作者:xiaodong_blogs 时间:2022-09-29 01:09:32
python 封装token
import datetime
class MyJwt:
def __init__(self):
# 加密密钥
self.password = "1231231241234refd"
# 加密方法
def encode_jwt(self,userinfo):
# 加密操作
encode_srt = jwt.encode(userinfo,self.password,algorithm="HS256")
try:
encode_srt = str(encode_srt,"utf-8")
except Exception as e:
pass
return encode_srt
# 时常加密
# userinfo :用户信息
# mytime: 设置过期时间
def encode_jwt_t(self,userinfo,mytime):
playload = {
'exp': int((datetime.datetime.now()+datetime.timedelta(seconds=mytime)).timestamp()),
'data':userinfo
}
# 加密操作
encode_srt = jwt.encode(playload,self.password, algorithm="HS256")
try:
encode_srt = str(encode_srt, "utf-8")
except Exception as e:
pass
return encode_srt
# 解密
def decode_jwt(self,jwt_str):
return jwt.decode(jwt_str,self.password,algorithms=['HS256'])
如何封装token,直接调用
import jwt
import time
class JwtTool:
#生成token
def create_token(self, payload, ex):
a = "sss"
payload['ex'] = int(time.time()) + ex
try:
token = jwt.encode(payload, key=a)
print("生成token成功", token)
return token
except Exception as e:
print("生成token的错误", e)
return False
#解析token
def check_token(self, token):
try:
a = "sss"
payload = jwt.decode(token, key=a, algorithms="HS256")
print("解析token成功", payload)
return payload
except Exception as e:
print("解析token错误", e)
return False
#单独文件测试
if __name__ == '__main__':
from app import app
with app.app_context():
j = JwtTool()
payload = {
"ia": 1,
"name": "小米"
}
token = j.create_token(payload, 200)
print("-----", token)
# token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYSI6MSwibmFtZSI6Ilx1NWMwZlx1N2M3MyJ9.ru9-3H7Z9abbkKXkZMbekeAEdlE-COw9CASYMxIG728"
# print("++++",j.check_token(token))
来源:https://blog.csdn.net/weixin_55555564/article/details/121348404
标签:python,封装,token
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python os库常用操作代码汇总
2021-04-17 04:07:51
JS设置cookie、读取cookie、删除cookie
2023-08-27 19:35:17
浅析php中array_map和array_walk的使用对比
2023-09-10 22:22:28
Opencv实现二维直方图的计算及绘制
2023-07-18 23:34:52
![](https://img.aspxhome.com/file/2023/6/59646_0s.jpg)
oracle初始化参数设置
2010-07-31 12:47:00
用Python编写分析Python程序性能的工具的教程
2022-02-13 01:57:03
![](https://img.aspxhome.com/file/2023/3/63553_0s.jpg)
文字链接,怎么办?
2008-08-04 13:18:00
![](https://img.aspxhome.com/file/UploadPic/20088/4/20088413222403s.gif)
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2023-08-06 15:58:18
![](https://img.aspxhome.com/file/2023/0/55970_0s.png)
ASP编程中的常见问题
2007-09-20 13:32:00
目前最全的浏览器/CSS选择器兼容性总结(包括Safari 4 beta)
2009-02-26 15:26:00
![](https://img.aspxhome.com/file/UploadPic/20092/26/css-browsers-0-36s.png)
php日期转时间戳,指定日期转换成时间戳
2023-06-20 17:02:23
微信小程序实现富文本图片宽度自适应的方法
2023-10-17 12:44:25
![](https://img.aspxhome.com/file/2023/5/56025_0s.jpg)
SQL 字母数字混合型字段 按里面的数字排序
2010-04-23 18:18:00
![](https://img.aspxhome.com/file/UploadPic/20104/23/1-47s.jpg)
用ASP和XMLHTTP分析远程XML文件
2007-12-12 12:48:00
用ASP打造一个小型的网页BBS系统
2008-10-10 16:36:00
我的论坛源代码(九)
2023-11-15 05:50:05
Go语言中使用反射的方法
2023-07-22 22:31:48
Django分页查询并返回jsons数据(中文乱码解决方法)
2022-12-02 22:44:20
ASP 字符串转数字格式
2009-08-19 17:18:00
isset和empty的区别
2023-11-20 12:24:08