当前位置: 首页 > news >正文

python 解码 jwt

import base64
import jsondef base64url_decode(base64url_data):# 将URL安全的base64编码数据转换为标准的base64编码数据base64_data = base64url_data.replace('-', '+').replace('_', '/')# 如果数据长度不是4的倍数,则补齐padding_length = 4 - len(base64_data) % 4base64_data += "=" * padding_length# 解码base64数据decoded_data = base64.b64decode(base64_data)return decoded_datadef decode_jwt(jwt):# JWT由三部分组成:header.payload.signature,每部分之间用点号分隔header, payload, signature = jwt.split('.')# 解码header和payloaddecoded_header = json.loads(base64url_decode(header).decode('utf-8'))decoded_payload = json.loads(base64url_decode(payload).decode('utf-8'))# signature部分不需要解码return decoded_header, decoded_payload, signature# 示例JWT(仅作为示例,实际JWT应由服务器生成)
example_jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"decoded_header, decoded_payload, signature = decode_jwt(example_jwt)print("Decoded header:", decoded_header)
print("Decoded payload:", decoded_payload)
print("Signature:", signature)

参考:
https://cloud.tencent.com/developer/information/%E5%9C%A8python%E4%B8%AD%E8%A7%A3%E7%A0%81JWT%EF%BC%8C%E6%97%A0%E9%9C%80%E5%AE%89%E8%A3%85%E9%A2%9D%E5%A4%96%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85

相关文章:

  • javaweb -Ajax
  • LVS—DR模式
  • 最新FVCOM 潮流、波浪、泥沙、水质、温盐、染色剂、粒子示踪、嵌套、背景流、自动化全流程
  • 在线教育平台敏捷开发项目
  • CppCon 2017 学习:C++ in Academia
  • ModbusTcp使用
  • Qt事件处理机制
  • Transformer推理拓扑关系
  • 2025年06月18日Github流行趋势
  • Jenkins审核插件实战:实现流水线审批控制的最佳实践
  • 经典风格的免费wordpress模板
  • 网页后端开发(基础3--Springboot框架)
  • Github的使用
  • 自力更生式养老VS三大新型养老:在时代裂变中重构银发生存法则
  • 【网工】华为配置专题进阶篇②
  • MySQL 8.0 OCP 题库完整版
  • UVa1408/LA4018 Flight Control
  • RT Thread CAN驱动框架分析
  • 【LeetCode】每日一题 —— No.3405
  • Linux设备框架:kset与kobject基本介绍
  • nuxt做多页面网站/移动营销
  • 上传到服务器的网站打开是空白/怎么制作网站?
  • 照片编辑在线/搜索引擎营销优化诊断训练
  • 企业网站定制开发流程/重庆百度竞价开户
  • 哪些免费的网站可以做企业宣传/百度广告标识
  • 有没有教做化学药品的网站/seo网站排名全选