Add djblets.secrets, for AES crypto helpers and token generation.
Review Request #12369 — Created June 13, 2022 and submitted — Latest diff uploaded
This introduces a new
djblets.secrets
module, which will be the home
of any future crypto/secrets-related work going forward.This currently contains
djblets.secrets.crypto
, a collection of AES
encryption/decryption utilities that wrap thecryptography
module.
This is a near-straight port ofreviewboard.scmtools.crypto_utils
,
with the exception thatencrypt_password()
has been renamed to
aes_encrypt_base64()
anddecrypt_password()
has been renamed to
aes_decrypt_base64()
. This is to help make it clear what form of
encryption and results are expected, and to allow room for other similar
utilities in the future.
cryptography
is now a hard dependency of Djblets, rather than a soft
dependency, as Djblets-shipped code will be making use of this module in
the future.
Unit tests pass.