A CLI based password manager, buit using the pycryptodome
library using RSA for key generation and encryption, it also uses rich
and inquirer
libraries for user friendly command line interface.
- Create a virtual environment:
py -m venv venv
- Activate the virtual environment:
venv\Scripts\activate
- Install dependencies from requirements.txt:
pip install -r requirements.txt
- Create a virtual environment:
python3 -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Install dependencies from requirements.txt:
pip install -r requirements.txt
-
Create a
.env
file in the root of your project. -
Add the following environment variables to the
.env
file:PUBLIC_KEY_PATH=path_to_your_public_key_file PRIVATE_KEY_PATH=path_to__your_private_key_file ROOT_PASSWORD=sha512_hash_of_your_root_password
-
You can also save these in your system's environment variable directly.
-
To generate and save your public and private keys run the
generate_keys.py
file insideprerun
directory, and use that file path in the env variables above. -
Also, to generate the hash for your root password run the
hash_root_password.py
file insideprerun
directory, and use them in the env variable above.
-
Following should be the structure of the file, when importing passwords:
[ { "application": "name_of_the_application", "password": "unencrypted_password" } ]
-
Keep a note that, password in this json file should not be encrypted. The password will be automatically encrypted, while the importing process