Skip to content

Repository files navigation

🔐 Password Strength Checker & Generator

A small Tkinter desktop app to check password strength and generate strong random passwords, with one-click clipboard copy.

Features

  • Live strength check: Weak / Medium / Strong, scored on:
    • Length
    • Uppercase & lowercase letters
    • Numbers
    • Special characters
  • Visual score bar (color-coded) + character checklist
  • Secure random password generator (secrets module — not random)
  • Customizable generator: length, and which character types to include
  • Copy to clipboard button (checker section + generator section)

Project Structure

password_toolkit/
├── main.py                # Entry point — run this
├── gui.py                 # Tkinter UI (widgets, layout, events only)
├── strength_checker.py    # Strength-analysis logic (no UI)
├── password_generator.py  # Secure password generation logic (no UI)
├── constants.py            # Shared constants (char sets, colors, thresholds)
├── test_logic.py           # Unit tests for the logic modules
└── README.md

The logic (strength_checker.py, password_generator.py) is fully separated from the UI (gui.py), so it can be reused in a CLI, a web backend, or tested independently — which is what test_logic.py does.

Strength Rules

Condition Result
Length < 8 Weak
Letters only Weak
Letters + numbers Medium
Letters + numbers + symbols, length ≤ 12 Medium
Letters + numbers + symbols, length > 12 Strong

Run

cd password_toolkit
python main.py

Requires only the Python standard library (tkinter, secrets, string) — no pip install needed.

Run Tests

python -m unittest test_logic.py

About

A Python-based Password Security Toolkit with password strength checker, generator, vault, and app lock.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages