A secure Command-Line Password Manager built using Python that allows users to store and manage credentials safely using encryption and master password authentication.
This project demonstrates secure password storage, encryption techniques, and modular Python application design.
-
Master Password Authentication
-
Uses SHA-256 hashing to securely store and verify the master password.
-
Encrypted Password Storage
-
Uses Fernet symmetric encryption from the
cryptographylibrary to encrypt credentials. -
Secure Password Generator
-
Generates strong random passwords using Python's
secretsmodule. -
Password Strength Checker
-
Evaluates password strength based on length, digits, uppercase letters, and symbols.
-
Search Stored Credentials
-
Search for saved websites using partial keyword matching.
-
Update Credentials
-
Update website name, username, or password.
-
Delete Passwords
-
Remove credentials securely from the vault.
-
Masked Password Viewing
-
Passwords are masked by default with an option to reveal.
-
Session Timeout
-
Automatically logs out after inactivity.
- Python
- Cryptography (Fernet Encryption)
- JSON File Storage
- SHA-256 Hashing
- CLI (Command-Line Interface)
Generated files (not uploaded to GitHub):
vault.json master.hash
pip install -r requirements.txt
python main.py
==== PASSWORD MANAGER ====
- Add Password
- View Password
- Search Password
- Update Password
- Delete Password
- Generate Strong Password
- Exit
- SHA-256 password hashing
- Symmetric encryption using Fernet
- Secure password generation
- Masked password display
- Session timeout handling
- Brute-force login protection
- Export/import password vault
- Clipboard password copy feature
- GUI version using Tkinter or PyQt
- Database storage using SQLite
Developed as a Python security-focused project demonstrating encryption, authentication, and secure credential storage.