适用于Python的平台无关安全令牌
项目描述
python-paseto
适用于Python的平台无关安全令牌
安装
pip install python-paseto
检查安装
python -m paseto
libsodium
是必需的,这会检查它是否已安装在您的系统上。在Ubuntu 20.04上,您可以使用 sudo apt install libsodium23
获取它。
低级API
实现了支持 v2.public
、v2.local
、v4.public
和 v4.local
消息的 PASETO 版本2和版本4协议。每个协议版本都提供对 encrypt() / decrypt() 和 sign() / verify() 函数的访问。
低级API专注于在 PASETO 协议中直接指定的稳定、高质量、生产就绪的原语。有关协议详情,请参阅 paseto-spec。
版本2的示例使用
from paseto.protocol.version2 import encrypt, decrypt
message = b"foo" # your data
key = b"0" * 32 # encryption key
token = encrypt(message, key)
plain_text = decrypt(token, key)
assert plain_text == message
print(f"token={token}")
print(f"plain_text={plain_text}")
print(f"message={message}")
带有可选的页脚
from paseto.protocol.version2 import encrypt, decrypt
message = b"foo" # your data
key = b"0" * 32 # encryption key
optional_footer = b"sample_footer" # authenticated but not encrypted metadata
token = encrypt(message, key, optional_footer)
plain_text = decrypt(token, key, optional_footer)
assert plain_text == message
print(f"token={token}")
print(f"plain_text={plain_text}")
print(f"message={message}")
版本4的示例使用
from paseto.protocol.version4 import create_symmetric_key, decrypt, encrypt
message = b"this is a secret message" # your data
key = create_symmetric_key() # encryption key
token = encrypt(message, key)
plain_text = decrypt(token, key)
assert plain_text == message
print(f"token={token}")
print(f"plain_text={plain_text}")
print(f"message={message}")
消息签名
from paseto.protocol.version4 import create_asymmetric_key, sign, verify
message = b"this is a public message" # your data
public_key, secret_key = create_asymmetric_key() # signing / verifying keys
token = sign(message, secret_key)
verified_message = verify(token, public_key)
assert verified_message == message
print(f"token={token}")
print(f"verified_message={verified_message}")
print(f"message={message}")
高级API
将来,高级API将为开发者提供对低级API的友好访问,并支持轻松集成到其他项目中。
开发
典型的开发工作流程操作已在 Makefile 中自动化,包括测试、代码质量检查、基准测试和开发环境设置。
贡献
此库正在积极开发和维护。对于任何反馈、问题、评论或您想要请求功能,请提出问题!
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
python-paseto-0.5.2.tar.gz (11.2 kB 查看哈希值)
构建分发
python_paseto-0.5.2-py3-none-any.whl (13.1 kB 查看哈希值)
关闭
python-paseto-0.5.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a27032ba706e9e0e44dc5af5723579935c5a45c1f1bb991023e0d53f258c4c89 |
|
MD5 | 820ac1b71c50b9a0c9e4e2486c15dcb2 |
|
BLAKE2b-256 | 7d5899e1c46a9f1b442510c488bc9d7782f5a3b5e5f36c0f50595a356a080548 |
关闭
python_paseto-0.5.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dcf7b4699e7c03c7e1ee7291cd0249a63aad11928a31fb6bd2efe36720d02ff4 |
|
MD5 | 4d975f7bf16e561bc2b64e353e6f4a1f |
|
BLAKE2b-256 | 3226959c2689988cb94a6a0c38ce3fb80f94689b0a41975c442e8ee890b12f8a |