Skip to main content

Username-targeted password wordlist generator

Project description

wl — Username-Targeted Password Wordlist Generator

Generate highly targeted password candidates for a given username by applying structural patterns derived from real-world breach data (RockYou, SecLists, etc.). Every generated password relates to the target username — no filler entries.

Installation

pip install pslist   # once published
# or from source:
git clone https://github.com/5h4nnu-dev/wl.git
cd wl
pip install -e .

Usage

wl <username> [options]

Basic

wl john

Generates john_wordlist.txt with ~78k unique candidates using the common word pool and structural patterns.

Options

Flag Description
--keywords Custom keywords (pets, partners, etc.)
--birth-year Birth year (e.g. 1990)
--year-range Year range (default: 2020-2026)
--leet Apply leet substitutions
--output FILE Output file (default: <username>_wordlist.txt)
--min-len Minimum password length (default: 4)
--max-len Maximum password length (default: 32)
--wordlist External wordlist file (adds to token pools)
--refresh Re-download common passwords cache

Examples

wl john --leet --output john.txt
wl admin --birth-year 1990 --year-range 2020 2026 --keywords rocket star
wl alice --wordlist rockyou.txt --refresh

How It Works

Token pools are built from the username (variants, truncations, reversals) and combined using structural patterns observed in real breaches:

{name}{digits}         →  john123
{name}{special}        →  john!
{name}{digits}{special} →  john123!
{Name}{digits}         →  John123
{name}{year}           →  john2024
{word}{digits}         →  password123
{name}{word}           →  johnpassword
{l33t}{digits}         →  j0hn123

Token Sources

Token Source
{name} username + case variants + truncations + reversed
{Name} capitalized variants
{digits} 0–99, common sequences, birth/year range
{special} ! @ # $ % & *
{year} birth year + year range
{word} top words from SecLists 10k-most-common
{l33t} leet-speak variants
{keyword} user-supplied custom keywords

The common password pool is downloaded from SecLists on first run and cached at ~/.cache/wl/common_passwords.txt.

Use Cases

  • Offline hash cracking — feed wordlist into Hashcat / John
  • Internal password spraying — targeted low-and-slow attempts per user
  • Credential pattern analysis — understand a target's password habits

Dependencies

Python stdlib only — no third-party packages required.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pslist-0.1.0.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pslist-0.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file pslist-0.1.0.tar.gz.

File metadata

  • Download URL: pslist-0.1.0.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for pslist-0.1.0.tar.gz
Algorithm Hash digest
SHA256 02a259a250ada703a4c21188f21b818e9c6c95c17b53cdf536a7318c6e6f877f
MD5 5633514f019257d4ec432ead0e6cef6a
BLAKE2b-256 fa551ac342013365280d72cfbdb0c09a8d301c305ff71fd1c6fa46a3e6863620

See more details on using hashes here.

File details

Details for the file pslist-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pslist-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for pslist-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3ae7ef07f88e4f84aa5e6e163053736835354d1ccf4a76bf4c1420ec2bd0b68
MD5 f55ba95f8bb49beb6670aa9fa295b35b
BLAKE2b-256 340a7a8539a5b3bc16646050bd16403ea28f3ac48da1a5d764f4c0a01107182c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page