Skip to main content

kpass is a Python toolkit for generating, ciphering and evaluating passwords with JSON, CSV and YAML export.

Project description

🔐 kpass — Smart Password Generator & Evaluator

kpass logo

kpass is a Python toolkit for generating, ciphering and evaluating passwords—designed for educational, testing and automation scenarios.


✨ Features

  • Generate hundreds or thousands of password combinations from:

    • Full name
    • Age
    • Birth date
  • Leet‑speak substitutions like A → 4, E → 3, S → $

  • Strength evaluation based on:

    • Length
    • Digits
    • Special characters
    • Mixed case
    • Numeric sequence patterns
  • Export automatically to .json, .csv or .yaml with a progress bar powered by rich


⚠️ Security Disclaimer

This project does not produce secure passwords for production systems. It uses predictable inputs (names, dates) and should not be used for real authentication.


🎯 Use Cases

  • 🧠 Cybersecurity Awareness Learn why personal info makes weak passwords.

  • 🧰 Pentesting & Wordlist Creation Build custom dictionaries for ethical hacking.

  • 🧪 Automation & Testing Generate dummy passwords for scripts, bots or sandbox environments.


📦 Installation

pip install kpass-gen

Requires Python 3.6+


🚀 Quick Start

1. Generate Passwords

from kpass import generator

# Example: Johnny Silverhand (born 08/07/2000, age 50 in 2077)
generator(
    name="Johnny Silverhand",
    age="50",
    birth_date="08/07/2000",
    file_type="json",         # optional: json, csv, yaml or yml
    file_name="jsilverhand"   # optional: filename without extension
)

2. Apply Leet Cipher

from kpass import apply_ciphers

# Example: Panam Palmer
leet = apply_ciphers("Panam Palmer")
print(leet)  # → "|D4|\\|4/\\/\\ |D41/\\/\\312"

3. Save Custom Password Lists

from kpass import save_to_file

# Example passwords inspired by Cyberpunk characters
passwords = ["Chipp4020!", "AltAccount2077$", "RoughTrade37#"]
scores    = [3, 5, 4]
verdicts  = ["#mean", "#strong", "#good"]

save_to_file(
    passwords,
    scores,
    verdicts,
    file_name="cyberpunk_list",
    file_type="csv"    # outputs cyberpunk_list.csv
)

4. Check Password Strength

from kpass import verify

# returns "#very_strong"
print(verify("R0gueDr1ft!99"))

# returns 6
print(verify("R0gueDr1ft!99", want_verdict=False))

🔧 API Reference

Function Description
generator(name, age, birth_date, file_type, file_name) Generates permutations, evaluates strength, and saves to a file
apply_ciphers(text) Applies leet‑speak substitutions
save_to_file(passwords, scores, verdicts, file_name, file_type) Exports password list + scores + verdicts with a progress bar
verify(password, want_verdict=True) Evaluates strength; returns an int score or str verdict (#good, etc.)
check_sequences(password) Detects ascending/descending numeric sequences
veredict(score) Maps numeric score to verdict string (#weak, #strong, etc.)

✅ Requirements

  • Python 3.6 or higher
  • rich for progress bars

📄 License

MIT License — free to use, modify and share.

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

kpass_gen-0.2.6.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

kpass_gen-0.2.6-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file kpass_gen-0.2.6.tar.gz.

File metadata

  • Download URL: kpass_gen-0.2.6.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for kpass_gen-0.2.6.tar.gz
Algorithm Hash digest
SHA256 b02bb0801310add2b556d78c5962306e34d5faec063051048112b1fd85f3cc9d
MD5 760d2fede2820ec7d487f37376af696d
BLAKE2b-256 28c2dec51aa4fe834d9191c33c32fec985427db5bb135be2b302acf586ebb573

See more details on using hashes here.

File details

Details for the file kpass_gen-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: kpass_gen-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for kpass_gen-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9ce0ae1ddd6b335a08eba606683df3065927f882793f4e26239a7bfcd00b2040
MD5 f63d6c8c1b0e26365ee550475182d16e
BLAKE2b-256 6d0db1b66399b200f42b4eeb7aa49b770ad7345a12f9c896927ea5f0848a200f

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