Platform-Agnostic Security Tokens for Python
Project description
python-paseto
Platform-Agnostic Security Tokens for Python
Installation
Clone the repository, in the future a pip install will be available.
poetry is used to manage project dependencies / build / test / publish.
Install dependencies with
poetry install
Run tests
pytest
To check code coverage run
coverage run -m pytest
coverage report
Low level API
Initial implementation of the V2 encrypt / decrypt functions. Alpha version. Low level API focuses on solid, high quality, production ready primitives as specified directly in the PASETO protocol.
Example use
from paseto.protocol.version2 import Version2
message = b"foo" # your data
key = b"0" * 32 # encryption key
token = Version2.encrypt(message, key)
plain_text = Version2.decrypt(token, key)
assert plain_text == message
print(f"{token=}")
print(f"{plain_text=}")
print(f"{message=}")
With optional footer
from paseto.protocol.version2 import Version2
message = b"foo" # your data
key = b"0" * 32 # encryption key
optional_footer = b"sample_footer" # authenticated but not encrypted metadata
token = Version2.encrypt(message, key, optional_footer)
plain_text = Version2.decrypt(token, key, optional_footer)
assert plain_text == message
print(f"{token=}")
print(f"{plain_text=}")
print(f"{message=}")
High level API
In the future a high level API will provide developer friendly access to low level API and support easy integration into other projects.
Code formatting is managed by black. To format run
black .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for python_paseto-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a332792f60cb9f0e951916f1cf0aef4d161ef00a4397209bd606a119e6de76a7 |
|
MD5 | 03caa44483c70d83bc7a178ca40d6b21 |
|
BLAKE2b-256 | b0ef26c7ac8d0409052972cf72972033e11a9d6fd028cc50a8c702a789210f90 |