A secure and customizable password generator CLI tool
Project description
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
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 Distributions
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 passkey_generator_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: passkey_generator_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9219e9b5a6e576f771e7beed4da822aef92bdff993a1cad653737da7910c569c
|
|
| MD5 |
59545267bb0e336f9fbd4a6d075af13a
|
|
| BLAKE2b-256 |
1c5a70420129845fa24383f0be3271a21cb5680f17dec21dd26eddd71e41eea2
|