reviewboard.scmtools.crypto_utils¶
- get_default_aes_encryption_key()[source]¶
Return the default AES encryption key for the install.
The default key is the first 16 characters (128 bits) of
SECRET_KEY
.- Returns:
The default encryption key.
- Return type:
- aes_encrypt(data, key=None)[source]¶
Encrypt data using AES encryption.
This uses AES encryption in CFB mode (using an 8-bit shift register) and a random IV (which will be prepended to the encrypted value). The encrypted data will be decryptable using the
aes_decrypt()
function.- Parameters:
- Returns:
The resulting encrypted value, with the random IV prepended.
- Return type:
- Raises:
ValueError – The encryption key was not in the right format.
- aes_decrypt(data, key=None)[source]¶
Decrypt AES-encrypted data.
This will decrypt an AES-encrypted value in CFB mode (using an 8-bit shift register). It expects the 16-byte cipher IV to be prepended to the string.
This is intended as a counterpart for
aes_encrypt()
.- Parameters:
- Returns:
The decrypted value.
- Return type:
- Raises:
TypeError – One or more arguments had an invalid type.
ValueError – The encryption key was not in the right format.
- encrypt_password(password, key=None)[source]¶
Encrypt a password and encode as Base64.
The password will be encrypted using AES encryption in CFB mode (using an 8-bit shift register), and serialized into Base64.
Changed in version 4.0: The return type has been changed to
unicode
, in order to improve the expected behavior on Python 3.- Parameters:
- Returns:
The encrypted password encoded in Base64.
- Return type:
- Raises:
ValueError – The encryption key was not in the right format.
- decrypt_password(encrypted_password, key=None)[source]¶
Decrypt an encrypted password encoded in Base64.
This will decrypt a Base64-encoded encrypted password (from
encrypt_password()
) into a usable password string.Changed in version 4.0: The return type has been changed to
unicode
, in order to improve the expected behavior on Python 3.- Parameters:
- Returns:
The resulting password.
- Return type:
- Raises:
ValueError – The encryption key was not in the right format.