Skip to content

toto3mk/GUI_Python_Password_Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Passmeter - Strong Password Generator & Strength Analyzer

Python License GUI

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.

Features

  • 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

Strength Ratings

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

Installation

Prerequisites

  • Python 3.6 or higher
  • pip (Python package manager)

Dependencies

pip install ttkbootstrap

Optional: Create Virtual Environment ( for Linux )

# 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

Usage

  1. Run the application:

    python passmeter.py
  2. Configure your password:

    • Set desired length (default: 24)
    • Select character types: Uppercase, Lowercase, Digits, Symbols
    • Click "Generate" to create a new password
  3. Analyze the result:

    • View generated password in the output field
    • Check entropy value and strength rating
    • Copy password for your use

How It Works

Password Generation

  • 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

Strength Analysis

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.

📁 Code Structure

passmeter.py
├── generate_aeonic_key()      # Password generator function
├── analyze_key_strength()     # Password strength analyzer
├── generate_and_display()     # GUI controller function
└── GUI Components            # ttkbootstrap interface

Key Functions

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

GUI Components

  • 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

Security Features

  • 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

Examples

Strong Password Example

Password:  K8j$nQ2mX9pL!3tR6vB#yM1w
Entropy:   124.35 bits
Strength:  EXTREMELY STRONG

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for:

  • New features
  • Bug fixes
  • Documentation improvements
  • UI enhancements

Disclaimer

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.

Troubleshooting

Common Issues

Import Error: ttkbootstrap not found

pip install ttkbootstrap

GUI 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages