Python中的JOSE实现
项目描述
Python中的JOSE实现
文档可在 ReadTheDocs 上找到。
JavaScript对象签名加密(JOSE)技术——JSON Web签名(JWS)、JSON Web加密(JWE)、JSON Web密钥(JWK)和JSON Web算法(JWA)——可以共同用于使用多种算法加密和/或签名内容。虽然所有可能的排列组合非常庞大,可能对一些人来说有些令人望而生畏,但预计大多数应用程序只需使用一小部分算法来满足其需求。
安装
$ pip install python-jose[cryptography]
加密后端
截至3.3.0版本,python-jose实现了三个不同的加密后端。在安装python-jose时,必须选择后端作为附加选项。如果您未选择后端,则将安装native-python后端。
除非另有说明,所有后端都支持所有操作。
由于setuptools的复杂性,native-python后端始终会安装,即使您在安装时选择了不同的后端。我们建议您在生产环境中删除不必要的依赖项。
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
用法
>>> from jose import jwt
>>> token = jwt.encode({'key': 'value'}, 'secret', algorithm='HS256')
u'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ2YWx1ZSJ9.FG-8UppwHaFp1LgRYQQeS6EDQF7_6-bMFegNucHjmWg'
>>> jwt.decode(token, 'secret', algorithms=['HS256'])
{u'key': u'value'}
感谢
此库最初大量基于PyJWT团队的成果。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。