This is a feature-rich Password Manager and Generator application built with Python. It allows users to securely store, manage, and generate passwords using modern encryption methods, ensuring the highest level of security for sensitive data.
-
Password Vault:
- Securely store account credentials (Account name, Username, and Password).
- Access passwords through a master password system.
- Encrypted password storage using Fernet symmetric encryption.
-
Password Generator:
- Adjustable criteria (number of letters, digits, and symbols).
- Generate strong and customizable passwords.
-
Master Password Protection:
- Set up a master password for unlocking the Passwords table.
- Passwords are hashed using SHA-256 for secure storage.
-
Recovery Key:
- Generate a unique recovery key to reset the master password.
- Provides a failsafe mechanism in case the master password is forgotten.
-
User-Friendly Interface:
- Modern UI built with CustomTkinter.
- Intuitive sliders, buttons, and menu options for seamless interaction.
-
Data Management:
- Add, update, or delete entries in the table.
- Passwords are masked with (*) in the table for added security.
- Python: Core language.
- CustomTkinter: For the modern GUI.
- SQLite3: Lightweight database for storing user data.
- Cryptography: For encryption and decryption of sensitive data.
- Pillow (PIL): Image processing for UI components.
- Python 3.7 or later installed on your system.
- Required Python libraries:
pip install cryptography customtkinter pyperclip pillow
-
Clone this repository:
git clone https://github.com/BolaWagdy/python-password-manager.git cd python-password-manager -
Install Requirements:
pip install -r requirements.txt
-
Run the application:
python password-vault.py
-
Follow the prompts to set up your master password and recovery key.
-
Password Generator:
- Adjust the sliders to set the number of letters, digits, and symbols.
- Click "Generate Password" to create a strong password.
- Use the "Copy Password" button to copy it to the clipboard.
-
Vault Management:
- Click "Open Vault" and enter your master password to unlock.
- Use the "Add Entry" button to store a new account credential.
- Right-click an entry in the table for options like copy username, copy password, update, or delete.
-
Recovery:
- If you forget your master password, use your recovery key to reset it.
- All passwords are encrypted using the Fernet algorithm, with keys derived from a secure PBKDF2HMAC process.
- The master password and recovery key are securely hashed using SHA-256.
- The application does not store plaintext passwords.
└── 📁images
└── lock.png
└── pass.jpeg
└── program.png
└── vault.png
└──.gitignore
└── password-manager.py
└── README.md
└── requirements.txt
images/: Folder for UI images..gitignore: Ignored files.password-manager.py: Contains all logic for the application.requirements: Includes all the dependencies your project needs to run.
| Password Generator | Vault |
|---|---|