首页 > 编程语言 >python之jwt实现

python之jwt实现

时间:2023-02-07 16:36:55浏览次数:45  
标签:info python jwt 实现 token HS256 print salt

https://www.jianshu.com/p/03ad32c1586c

import jwt
import time

headers = {
  "alg": "HS256",
  "typ": "JWT"
}
# 设置headers,即加密算法的配置
salt = "asgfdgerher"
# 随机的salt密钥,只有token生成者(同时也是校验者)自己能有,用于校验生成的token是否合法
exp = int(time.time() + 1)
# 设置超时时间:当前时间的100s以后超时
payload = {
  "name": "dawsonenjoy",
  "exp": exp
}
# 配置主体信息,一般是登录成功的用户之类的,因为jwt的主体信息很容易被解码,所以不要放敏感信息
# 当然也可以将敏感信息加密后再放进payload

token = jwt.encode(payload=payload, key=salt, algorithm='HS256', headers=headers).decode('utf-8')
# 生成token
print(token)

info = jwt.decode(token, salt, True, algorithm='HS256')
# 解码token,第二个参数用于校验
# 第三个参数代表是否校验,如果设置为False,那么只要有token,就能够对其进行解码
print(1111,info)

time.sleep(2)
# 等待2s后再次验证token,因超时将导致验证失败
try:
    info = jwt.decode(token, salt, True, algorithm='HS256')
    print(info)
except Exception as e:
    print(repr(e))

info = jwt.decode(token, '', False, algorithm='HS256')
# 第三个参数设置为False,不进行校验,直接解码token
print(info)

 

标签:info,python,jwt,实现,token,HS256,print,salt
From: https://www.cnblogs.com/kaibindirver/p/17098903.html

相关文章

  • Nginx和tomcat实现负载均衡
    拓扑图:推荐步骤:Nginx服务器开启路由功能,客户端和tomcat服务器配置IP地址设置正确安装tomcat服务器配置网站安装Nginx代理和负载均衡功能配置DNS服务器域名解析,客户端使用w......
  • 【八大数据排序法】基数排序法的图形理解和案例实现 | C++
    第二十章基数排序法:::hljs-center目录第二十章基数排序法●前言●认识排序●一、基数排序法是什么?1.简要介绍2.图形理解3.算法分析●二、案例实现1.......
  • 9种跨域方式实现原理
    摘要:当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。本文分享自华为云社区《​​九种跨域方式实现原理咋回事​​......
  • 9种跨域方式实现原理
    摘要:当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。本文分享自华为云社区《九种跨域方式实现原理咋回事》,作者......
  • vue项目 前端js实现根据文件url批量压缩下载成zip包
    1.npminstalljszip--save/yarnaddjszip-S2.npminstallfile-saver--save/yarnaddfile-saver-S3.yarnaddaxios以下为完整代码 <template>......
  • 《Vue.js 设计与实现》读书笔记 - 第12章、组件的实现原理
    第12章、组件的实现原理12.1渲染组件在渲染器内部的实现看,一个组件是一个特殊类型的虚拟DOM节点。之前在patch我们判断了VNode的type值来处理,现在来处理类型为......
  • python学习之 logging包
    1,logging包python的一个包,专门用来写日志的。官方一共划分了6个等级的log类型,分别对应重要性等级50,40,30,20,10,0:级别排序:CRITICAL>ERROR>WARNING>INFO>DEBUG>NOT......
  • CompletableFuture实现异步转同步
    在很早之前的文章服务端性能优化之异步查询转同步介绍了一种常用到,服务端开发常用到的多个异步查询转同步的方法,本质上就是利用了java.util.concurrent.CountDownLatch的功......
  • 使用类与对象的方式实现点击按钮让标签颜色变色
    需求使用类与对象的方式实现点击按钮让标签颜色变色结构代码......
  • 基于Vant实现弹出层多选功能
    遇见一个弹出层多选的需求,翻了一遍Vant文档发现并不能直接支持该功能,那就自己实现一下吧!首先,上效果图:需要使用的Vant组件:van-field、van-popup、van-cell、van-check......