Create and used encryption keys to encrypt any sensitive information used for your application. Can be used by command line, in environment variables, within Python code as a module. Simplies the process and makes it easy to kep sensative information safe.
pip install ez-crypt-tool
ez_crypt_tool
Option | Description |
---|---|
--genkey | Generates a key, that can be used for encryption and decryption. |
--genkeyfile | Will generate a key and put it in the DEFAULT_KEY_FILE: ~/.ezcrypt/.ezcrypt.key. |
--keyfile: | Is supplied, will be used for Fernet key. |
--encrypt: | Uses the key in the KEY_FILES to encrypt a clear text string. |
--decrypt | Uses the key in the KEY_FILES to decrypt a cipher string. |
KEY_FILES: ['.ezcrypt.key', './conf/.ezcrypt.key', '~/.ezcrypt/.ezcrypt.key'] ENV: Environment can be used, skipping key file. Example: export EZCRYPT_KEY=
ez_crypt_tool --genkey
NQYiJixqOhkFWOESyttUvP4ChIcNehpTiyXMGA0eifA=
or
ez_crypt_tool --genkeyfile
NQYiJixqOhkFWOESyttUvP4ChIcNehpTiyXMGA0eifA=
Place the key into the ezcrypt.key file, then put the file in one of the 3 locations listed above in KEY_FILES.
ez_crypt_tool --encrypt mypassword
Encrypted:gAAAAABi6DbHCEwLiKHIrolX_oUGA9k-3RjB08-5VW0-lg4FdvGgsiwe1HriMkhLfWRFnMJsbJRvmpULEHbu2Q_EQbFDWaPBxA==
Place encrypted password in configuration file that can be retrieved by the application.
See example under ./sandbox directory.
- A prefix of "fenc:" can be prepended to key, to denote encrypted string. Not required.
- This project uses an example example test key.
- The key file [.ezcrypt.key] is in the conf directory.
- Its only for this example and can be used by others to decyrpt your informaiton.
!!! DO NOT REUSE THE INCLUDED KEY !!! GENERATE A NEW KEY BEFORE USING EzCryptTool in your environment
-
Python 3.8.x or greater
-
PIP 20.x or greater
-
virtualenv 20.14.x or greater
# Import EzCrypt
from ez_crypt_tool.ez_crypt_tool import EzCryptTool
# Initialize the EzCryptTool
ezc = EzCryptTool.get_instance()
# Starting with clear text string
clear_text_pw = "MyCoolPassword"
print(f"Clear Text: {clear_text_pw}")
# Encrypting the string
crypted_password = ezc.encrypt(clear_text_pw)
print(f"Encrypted: {password}")
# decrypting the string
clear_text_pw = ezc.decrypt(crypted_password)
print(f"Decrypted: {clear_text_pw}")
Clear Text: MyCoolPassword
Encrypted: fenc:gAAAAABjk4vdeenLsvEp_WXKCD_pw2a0oNaSI11l-5WLIdAJH4X579N8GOyYHefEPeR03yJymwoViqba9jBWucKHc4ffoev7Eyyn3O7wx3LmyUqRznut8Cw=
Decrypted: MyCoolPassword
- Initial upload
- Add generate encryption file
- Add code examples in readme
Copyright © 2023, damonb123. Released under the APACHE-2.0.