Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔐 Vault Check — Password Strength Checker

Project 1 — Goal: check whether a password is weak, medium, or strong, based on length and the use of numbers, symbols, and uppercase letters.

This submission includes two versions of the same logic:

password-strength-checker/
├── web/
│   └── index.html          ← interactive, animated web app (just open in a browser)
├── python/
│   └── password_checker.py ← console version (run with Python)
└── README.md

1. Web app (web/index.html)

Double-click index.html (or open it in Chrome/Firefox/Edge) — no install, no server, no dependencies. Type a password and watch:

  • The vault dial fill up and the padlock "unlock" once the password is strong
  • A live checklist (length, uppercase, lowercase, number, symbol, not-a-common-password)
  • An estimated crack time, so the score means something concrete
  • A strong password generator and copy-to-clipboard button
  • Contextual tips telling you exactly what to add next

Everything runs client-side in plain HTML/CSS/JavaScript, so it's easy to read, present, and explain line by line.

2. Python console version (python/password_checker.py)

A plain-Python implementation of the exact same rules, useful for showing the underlying string handling and condition checks clearly.

Run it with:

python password_checker.py

Then type any password to see its score, strength label, checklist, and suggestions. Type quit to exit.

How scoring works (used by both versions)

Check Points
Length ≥ 8 characters 20
Length ≥ 12 characters +15
Length ≥ 16 characters +10
Contains a lowercase letter 10
Contains an uppercase letter 15
Contains a number 15
Contains a symbol 15
Found on common-password list score capped at 20
Score Strength
0 – 39 Weak
40 – 69 Medium
70 – 89 Strong
90 – 100 Very Strong

Key skills demonstrated

  • String handling — iterating over characters, checking character classes (isupper, islower, isdigit, membership in a symbol set)
  • Condition checks — length thresholds, boolean combinations, capping logic for common passwords
  • Security basics — why length matters more than "tricks", why common passwords are dangerous, and how crack-time estimates are calculated (character-set size raised to the power of password length)

Ideas for extending this project

  • Load the common-password list from a real breached-password dataset (e.g. rockyou.txt)
  • Check for keyboard-walk patterns (qwerty, asdf) or repeated characters (aaaa)
  • Add a "time to crack against an online attack" estimate (much slower than offline)
  • Save a history of checked password scores (never the passwords themselves) to a file

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages