A modern, secure password generator with real-time strength analysis built using Python and ttkbootstrap. Generate cryptographically secure passwords and instantly evaluate their entropy and security rating.
- Secure Password Generation: Uses cryptographically secure random number generation
- Customizable Parameters: Control password length and character types
- Real-time Strength Analysis: Instant entropy calculation and security rating
- Modern Dark GUI: Beautiful dark theme built with ttkbootstrap
- Copy-to-Clipboard Ready: Easy to copy generated passwords
| Entropy Bits | Rating | Description |
|---|---|---|
| ≥ 128 bits | UNBREAKABLE | Virtually impossible to crack |
| ≥ 96 bits | EXTREMELY STRONG | Extremely secure for most purposes |
| ≥ 80 bits | VERY STRONG | Highly secure for general use |
| ≥ 64 bits | MODERATE | Reasonable security for low-risk accounts |
| < 64 bits | WEAK | Consider increasing length/complexity |
- Python 3.6 or higher
- pip (Python package manager)
pip install ttkbootstrap# Create virtual environment
python -m venv passmeter_env
# Activate on Windows
passmeter_env\Scripts\activate
# Activate on macOS/Linux
source passmeter_env/bin/activate
# Install dependencies
pip install ttkbootstrap-
Run the application:
python passmeter.py
-
Configure your password:
- Set desired length (default: 24)
- Select character types: Uppercase, Lowercase, Digits, Symbols
- Click "Generate" to create a new password
-
Analyze the result:
- View generated password in the output field
- Check entropy value and strength rating
- Copy password for your use
- Uses
random.SystemRandom()for cryptographically secure randomness - Builds character set based on user selections:
- Uppercase: A-Z (26 characters)
- Lowercase: a-z (26 characters)
- Digits: 0-9 (10 characters)
- Symbols: 32 special characters
Calculates password entropy using the formula:
Entropy = Length × log₂(Character Set Size)
Where character set size depends on which character types are present in the generated password.
passmeter.py
├── generate_aeonic_key() # Password generator function
├── analyze_key_strength() # Password strength analyzer
├── generate_and_display() # GUI controller function
└── GUI Components # ttkbootstrap interface
generate_aeonic_key(length, upper, lower, digits, symbols)
- Generates secure random passwords
- Customizable character sets
- Returns password string
analyze_key_strength(password)
- Calculates entropy in bits
- Determines security rating
- Returns analysis dictionary
- Length Input: Numeric field for password length
- Character Type Checkboxes: Toggle uppercase, lowercase, digits, symbols
- Generate Button: Creates new password
- Output Display: Shows generated password (read-only)
- Analysis Labels: Display entropy and strength rating
- Cryptographically Secure: Uses OS-level random number generation
- No Password Storage: Passwords are never saved or transmitted
- Local Execution: Everything runs on your local machine
- Customizable Security: Adjust parameters for your security needs
Password: K8j$nQ2mX9pL!3tR6vB#yM1w
Entropy: 124.35 bits
Strength: EXTREMELY STRONG
Contributions are welcome! Please feel free to submit pull requests or open issues for:
- New features
- Bug fixes
- Documentation improvements
- UI enhancements
This tool is designed for generating secure passwords for personal use. The authors are not responsible for any security issues arising from the use of generated passwords. Always follow best practices for password security and use a password manager for sensitive accounts.
Import Error: ttkbootstrap not found
pip install ttkbootstrapGUI not loading
- Ensure you're using Python 3.6+
- Check ttkbootstrap installation
- Try running as administrator if permission issues occur
Password strength seems low
- Increase password length
- Enable more character types
- Avoid predictable patterns