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.secretsmodule, 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 thecryptographymodule.
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.
cryptographyis 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.