Python CLI based password manager; Generate, store & retrieve your passwords easily & efficiently. Passwords are stored in sqlite db and encrypted with AES256-CBC encryption and Fernet for the data in the database.
Got the inspiration for this project from my gee @oluwafenyi from https://github.com/oluwafenyi/password-vault where he built the same exact thing. I'm basically upgrading his work but written from scratch.
🌟 Star the repo if you like what you see
- Clone the repo
foo@bar:~$ git clone https://github.com/LordGhostX/PVault.git
- Change directory to PVault
foo@bar:~$ cd PVault
- Install dependencies in
requirements.txt
foo@bar:~ /PVault$ pip3 install --upgrade -r requirements.txt
- Change directory to
source
folder to access pvaultfoo@bar:~ /PVault$ cd source
-
Generating random passwords
foo@bar:~ /PVault/source$ python pvault.py generate Newly generated password copied to clipboard!
- Create an environment variable
pvault
:foo@bar:~ /PVault/source$ export pvault='python pvault.py'
- You can now use
$pvault
instead ofpython pvault.py
- Create an environment variable
-
Generating and saving password for an account
foo@bar:~ /PVault/source$ python pvault.py generate gmail.com Newly saved password copied to clipboard!
# You can also set a custom password
foo@bar:~ /PVault/source$ python pvault.py generate yahoo.com myverysecurepassword Newly saved password copied to clipboard!
-
Getting a saved password
foo@bar:~ /PVault/source$ python pvault.py account gmail Password has been copied to your clipboard!
-
Getting all saved passwords
foo@bar:~ /PVault/source$ python pvault.py account gmail = 1_%ue9~M/xDaht9F1oZ9 gmails = myverysecurepassword
-
Overwriting previously saved password
foo@bar:~ /PVault/source$ python pvault.py generate gmail The password already exists; Do you wish to overwrite it (y/n)? y Newly saved password copied to clipboard!
# You can also set a custom password
foo@bar:~ /PVault/source$ python pvault.py generate gmail mynewsecurepassword The password already exists; Do you wish to overwrite it (y/n)? y Newly saved password copied to clipboard!
-
Resetting all passwords
foo@bar:~ /PVault/source$ python pvault.py reset Are you sure you want to reset all password in the database (y/n)? y Completely reset password database
-
Deleting saved passwords
foo@bar:~ /PVault/source$ python pvault.py delete gmail Are you sure you want to delete the user password in the database (y/n)? y Completely deleted user password in the database
# You can also delete all the passwords at once
foo@bar:~ /PVault/source$ python pvault.py delete Are you sure you want to delete all password in the database (y/n)? y Completely deleted password database
-
Other useful commands
- Getting Help
foo@bar:~ /PVault/source$ python pvault.py -h foo@bar:~ /PVault/source$ python pvault.py --help
- Get Version number
foo@bar:~ /PVault/source$ python pvault.py --version
You will be asked for a master password the very first time you run the script. The master password is what protects the other passwords and should be kept secure because it can't be reset.
- Write CLI parser
- Master password integration & encryption
- Password Generation Functionality
- Clipboard integration
- Database integration for saving passwords
- Retrieving saved passwords
- Password reset - Individual, Mass
- Deleting saved passwords
- Encrypt password before storing
- Nothing for now
- LordGhostX