Secure password generator CLI
Project description
Password Manager CLI
A secure password manager with storage and generation capabilities.
Features
- 🔒 Secure password storage with AES-256 encryption
- 🔑 Master password protection with Argon2 hashing
- 🛠️ Password generation with customizable complexity
- 📂 Organized storage with website/email metadata
- 🔍 Filterable password entries
- 📊 Rich terminal interface for viewing entries
Installation
- Install Poetry (if not already installed):
pip install poetry
- Clone the repository and install dependencies:
git clone https://github.com/huelight/password-cli.git
cd password-manager
poetry install
- Make the CLI globally available:
poetry build
pip install dist/password_manager-*.whl
Usage
Initialize the Password Manager Before using the manager, you need to set up a master password:
pwdgen init
Save a New Password Entry Save a new password with optional generation:
pwdgen save --website example.com --email user@example.com [--password "mypassword" | --generate]
List Password Entries View stored passwords with filtering options:
pwdgen list [--website example.com] [--show-password]
Generate Secure Passwords Generate passwords without saving:
pwdgen generate [--length 16] [--no-special]
Command Reference
pwdgen init
Initialize the password manager with a master password.
Options:
- No additional options
Example:
pwdgen init
pwdgen save
Save a new password entry.
Options:
| Option | Description |
|---|---|
| --website | Website or service name (required) |
| Associated email (required) | |
| --password | Password to store (optional) |
| --generate | Generate secure password (optional) |
Examples:
# Save with manual password
pwdgen save --website example.com --email user@example.com --password "secure123!"
# Save with generated password
pwdgen save --website example.com --email user@example.com --generate
pwdgen list
List stored password entries.
Options:
| Option | Description |
|---|---|
| --website | Filter by website name (optional) |
| --show-password | Show decrypted passwords (optional) |
Examples:
# List all entries
pwdgen list
# Show passwords for specific website
pwdgen list --website example --show-password
pwdgen generate
Generate secure passwords.
Options:
| Option | Description |
|---|---|
| --length | Password length (default: 16) |
| --no-special | Exclude special characters (optional) |
Examples:
# Generate standard password
pm generate
# Generate 20-character password without special chars
pm generate --length 20 --no-special
Security Features
- 🔐 AES-256 encryption for stored passwords
- 🔑 Argon2 hashing for master password
- 🧂 Unique salts for each password entry
- 🔄 600,000 PBKDF2 iterations for key derivation
- 🚫 No password storage in plaintext
- ⚠️ No recovery mechanism - lose master password = lose access
Password Requirements
Master password must:
- Be at least 12 characters long
- Contain uppercase and lowercase letters
- Include at least one number
- Include at least one special character
Generated passwords:
- Default to 16 characters
- Include all character types by default
- Guarantee minimum complexity
Contributing
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a pull request
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file password_cli_app-0.1.1.tar.gz.
File metadata
- Download URL: password_cli_app-0.1.1.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.12 Linux/6.8.0-51-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
008dd3a047bdf4980d1eac550fe9df0149e3b1e2bfeb6a2f71f7722932f231aa
|
|
| MD5 |
acbd347b0730dba60bc88949a29b321b
|
|
| BLAKE2b-256 |
dc12757394fdd89f6cf727a9eda4cc5a577c082d6142b1948176b13cdd997d7b
|
File details
Details for the file password_cli_app-0.1.1-py3-none-any.whl.
File metadata
- Download URL: password_cli_app-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.1 CPython/3.10.12 Linux/6.8.0-51-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
530e04ef44c7a455fc9f92b1b6ef6b0a134fc2053a20c00c6e0cc59550ab359f
|
|
| MD5 |
61177e476c0cd2fc478553744e6f0a20
|
|
| BLAKE2b-256 |
861a08b22f15614199a06430052cbcdfff8df257f274c57763b3a3ed4ebc4424
|