A secure password manager implemented in Python with SQLite3, Argon2 key derivation, and Fernet encryption. The manager securely stores and retrieves credentials, encrypting all sensitive data.
- Master password protection with Argon2id key derivation
- Securely stores credentials with encryption
- Generates strong passwords
- Searches stored credentials
- Supports updating and deleting stored credentials
- Prevents brute force attacks with login attempt limits
- Uses OS keyring to store encryption keys securely
Ensure you have Python installed (version 3.7+ recommended). Install required dependencies:
pip install cryptography keyringRun the password manager:
python pass-cli.py- Generate Random Password
Securely generates a strong password of user-specified length. - Set Master Password
Required to encrypt/decrypt stored credentials. - Save App Credentials
Encrypts and stores credentials for an application or website. - Show App Credentials
Decrypts and displays stored credentials. - Search Item
Searches stored credentials by app/site name. - Change Master Password
Re-encrypts all stored credentials with a new master password. - Modify an App's Credentials (Update/Delete)
Allows modification or removal of stored credentials. - Exit
Closes the password manager.
- Argon2id Key Derivation: Prevents brute-force attacks.
- Fernet Encryption: Encrypts all sensitive data.
- OS Keyring Storage: Secures the encryption key outside the database.
- Login Attempt Locking: Prevents repeated failed login attempts.
- Salt Encryption: Protects the master key derivation process.
Special thanks to snoorabbits69 and Cosmic Predator for their suggestions on improving this project!