A fully functional Password Manager made in python
This is my first ever python project and kinda my best and my most favourite project I've ever done.
Basically This is a fully functional Password Manager that possesses almost all the features an ideal Password Manager should have (except a very few).
Here are some of the key features of this Password Manager :
I have integrated this project with my Firebase Console developed by Google to store all the user's data
All your passwords in the cloud are stored as encrypted text and not plain text and the key is generated using User Identity based key generation algorithm, so only you can view your data. Not even the admin of the cloud server (me) can view your passwords.
I have added a new File encryption Vault feature, where users can store their important documents safe in the cloud. The files will be encrypted before storing in the cloud, so users don't have to worry about the security of their documents.
I have used the PySimpleGUI library to create a fully functional GUI for a seamless experience for the user.
The user is authenticated using an email and password powered by the Firebase console itself, o users can rely on the fact that their account is stored in a secure place.
I have also added an in-built Password Generator to generate strong and secure passwords. The user has the freedom to choose the output Password length.
The users can reset/change their password after logging in. A link will be sent to the respective mail where the user can change their password.
Note: Users cannot access their account if they forget their account password, as all their passwords and files are encrypted using their master password. I cannot help you if you forget your master password.
While viewing your passwords, double clicking on them will automatically copy the respective passwords to your device's clipboard. And the best part is that the clipboard will be cleared automatically after 10s after copying. Making your passwords more secure and not easily accessible to others.
# clone this repository
git clone https://github.com/Maneesh-Pradeep/PasswordManager.git
# Change directory
cd PasswordManager
# Execute the python file
python3 PasswordManager.py
The program will automatically install all the necessary libraries(dependencies) needed.
But if you are more concerned about the dependencies then you can always create a virtual-env and just do
pip3 install -r requirements.txt
to first download all the necessary packages and then run the main program.
The program depends on the following third party libraries
- PySimpleGUI (for GUI)
- pyrebase (firebase API)
- requests (for firebase error handling)
- pandas (to create a table from the data)
- pyperclip (to copy the passwords to the clipboard)
- cryptography (for encryption and decryption)
You can just refer to the requirements.txt file included in the repository
I will try my best to add new features and remove bugs if any. Some of the current limitations of the program are :
- As I use the Firebase email and password login, I didn't find any way to implement the master password feature. But sure in the future I will.
- Currently you have the freedom to only copy the password to your clipboard, but the program can't auto fill the passwords if you visit the respective website. For that feature to be implemented, I should have a fully functional Browser Extension, which I'm planning to do in the future.