news 2026/6/17 16:54:39

python-jose:Python 中的 JOSE 实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python-jose:Python 中的 JOSE 实现

文章目录

  • python-jose:Python 中的 JOSE 实现

python-jose:Python 中的 JOSE 实现

mpdavis/python-jose 是一个在 Python 中实现 JOSE 规范的库,目前获得 1,752 个 Star。

python-jose 实现了 JOSE 规范的核心组件,包括 JSON Web Signature (JWS)、JSON Web Encryption (JWE)、JSON Web Key (JWK) 和 JSON Web Algorithms (JWA)。这些技术组合在一起,可以用来对内容进行加密和签名。虽然 JOSE 规范中完整的算法排列组合数量很大,但实际应用中大多数项目只会用到其中一小部分。

这个项目提供了三种不同的加密后端,用户可以根据项目需求和环境条件进行选择。

cryptography 后端

这是项目推荐的后端方案,使用 pyca/cryptography 库完成所有加密操作。如果系统中同时安装了多个后端,这个后端会被优先选择使用。

安装方式:

pip install python-jose[cryptography]

选择这个后端后,系统中仍会遗留 rsa、ecdsa 和 pyasn1 这几个未使用的依赖。建议在生产环境中检查并清理这些不必要的依赖。

pycryptodome 后端

使用 pycryptodome 库完成所有加密操作,是另一个可选的加密后端方案。

安装方式:

pip install python-jose[pycryptodome]

安装后 rsa 会作为未使用的依赖保留在系统中。

native-python 后端

使用 python-rsa 和 python-ecdsa 进行加密操作。这个后端始终会被安装到系统中,但如果存在其他后端,其他后端会优先被使用。

安装方式:

pip install python-jose

这个后端有一个限制,它无法处理证书相关的操作。

由于 setuptools 的复杂性,即使安装时指定了其他后端,native-python 后端仍然会被一并安装。因此开发者需要在生产环境中手动移除不必要的依赖,保持环境的整洁。

安装与使用

最推荐的安装方式是使用 cryptography 后端:

pip install python-jose[cryptography]

python-jose 的 API 设计简洁。以下是一个生成和解析 JWT token 的基础示例:

fromjoseimportjwt# 编码生成 tokentoken=jwt.encode({'key':'value'},'secret',algorithm='HS256')# 解码验证 tokenjwt.decode(token,'secret',algorithms=['HS256'])

encode 方法接收 payload、密钥和算法三个参数,返回编码后的 JWT 字符串。decode 方法则用于验证和解码 token,需要指定允许的算法列表。这两个方法构成了使用这个库的核心流程。

这个项目最初基于 PyJWT 的实现发展而来。文档托管在 ReadTheDocs 上,包含详细的 API 说明和用法示例。代码覆盖率由 Codecov 持续追踪,CI 流程通过 GitHub Actions 运行。对于需要在 Python 项目中进行 JWT 签名、验证或其他 JOSE 相关操作的开发者,python-jose 提供了一套功能较为完整的解决方案。

需要在 Python 项目中进行 JWT 签名、验证或其他 JOSE 相关操作的开发者,python-jose 提供了一套功能较为完整的解决方案。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/16 8:05:14

智源大会圆桌大模型没有终局具身智能可能是中国的 AlphaGo 时刻

本次论坛是 2026 年 6 月 12 智源大会核心技术论坛之一,由蓝驰创投管理合伙人陈维广担任主持人,邀请到智源研究院院长王仲远、银河通用创始人兼 CTO 王鹤、面壁智能 CEO 李大海三位行业顶尖技术专家,围绕大模型行业最具争议的五大核心问题展开…

作者头像 李华
网站建设 2026/6/13 18:20:54

Fillinger:3步实现Adobe Illustrator形状内部图案自动布局

Fillinger:3步实现Adobe Illustrator形状内部图案自动布局 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在Adobe Illustrator的设计工作中,面对复杂形状内…

作者头像 李华
网站建设 2026/6/13 18:16:52

CANN推理加速库ascend-transformer-boost ATB算子融合实战:昇腾NPU上LayerNorm+MatMul融合与Llama2大模型推理优化深度指南

前言 跑Llama2 70B推理的时候,单卡Ascend 910的显存几乎被模型权重占满,剩下可用的空间让整个推理循环里频繁出现HBM到L1的搬运风暴。attention层、FFN层、LayerNorm,每个子算子各自写一次HBM再读一次HBM,模型还没生成几个token&a…

作者头像 李华
网站建设 2026/6/16 7:05:34

如何彻底解决Realtek WiFi 7网卡固件版本不匹配问题

如何彻底解决Realtek WiFi 7网卡固件版本不匹配问题 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 作为Linux用户,你是否在安装Realtek 8922AE这款WiFi 7网卡驱动时遇到了"…

作者头像 李华