Secure Password Generator
A powerful and flexible command-line password generator tool with advanced features for generating secure passwords.
Features
- Generate single or multiple passwords
- Customizable password length
- Include/exclude character types (uppercase, numbers, special characters)
- Set minimum requirements for each character type
- Exclude similar-looking characters
- Exclude ambiguous characters
- Password strength analysis
- Clipboard integration
- Secure random generation using the
secretsmodule
Installation
From GitHub
- Clone the repository:
git clone https://github.com/MohsenBizhani/PasswordGenerator.git
cd PasswordGenerator
- Install required dependencies:
pip install -r requirements.txt
- Install the package:
pip install .
From PyPI
pip install passkey-generator-cli
Usage
Basic Usage
password-generator
Common Options
-l, --length: Set password length (default: 12)-u, --uppercase: Include uppercase letters-n, --numbers: Include numbers-s, --specials: Include special characters-c, --count: Generate multiple passwords--analyze: Analyze password strength--clipboard: Copy password to clipboard
Advanced Options
--min-uppercase: Minimum number of uppercase letters--min-numbers: Minimum number of numbers--min-specials: Minimum number of special characters--no-similar: Exclude similar characters (iIl1Lo0O)--no-ambiguous: Exclude ambiguous characters {}/'"~,;:.<>
Examples
- Generate a basic 12-character password:
password-generator
- Generate a strong 16-character password with all character types:
password-generator -l 16 -u -n -s
- Generate and analyze a password:
password-generator -u -n -s --analyze
- Generate 5 passwords:
password-generator -c 5 -u -n -s
- Generate password with minimum requirements:
password-generator -u -n -s --min-uppercase 2 --min-numbers 2 --min-specials 1
- Generate password without similar-looking characters:
password-generator -u -n --no-similar
- Generate and copy to clipboard:
password-generator -u -n -s --clipboard
Password Strength Analysis
The tool analyzes passwords based on:
- Length (4 points per character)
- Presence of uppercase letters (10 points)
- Presence of lowercase letters (10 points)
- Presence of numbers (10 points)
- Presence of special characters (15 points)
Strength levels:
- Weak: Score < 40
- Moderate: Score 40-59
- Strong: Score 60-79
- Very Strong: Score ≥ 80
Security Features
- Uses Python's
secretsmodule for cryptographically strong random generation - Implements secure password shuffling
- Provides options to exclude similar and ambiguous characters
- Enforces minimum requirements for different character types
Project Structure
PasswordGenerator/
├── password_generator/ # Main package
│ ├── __init__.py # Package initialization
│ └── cli.py # Command-line interface implementation
├── setup.py # Package installation setup
├── README.md # Project documentation
├── HELP.md # Help documentation
├── LICENSE # License file
└── requirements.txt # Dependencies
Requirements
- Python 3.6 or higher
- pyperclip package (>=1.8.2)
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Author
Mohsen Bizhani - bizhani.2002@gmail.com
Links
Metadata
Release files for passkey-generator-cli 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| passkey_generator_cli-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / passkey_generator_cli-1.0.0-py3-none-any.whl
| Download URL | passkey_generator_cli-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9219e9b5a6e576f771e7beed4da822aef92bdff993a1cad653737da7910c569c
|
|
BLAKE2b-256 checksum How to use checksums |
1c5a70420129845fa24383f0be3271a21cb5680f17dec21dd26eddd71e41eea2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.1
|