password-generator
Generate secure passwords and passphrases with customizable rules. Check password strength, generate bulk passwords, and create memorable passphrases.
$ 安裝
git clone https://github.com/dkyazzentwatwa/chatgpt-skills /tmp/chatgpt-skills && cp -r /tmp/chatgpt-skills/password-generator ~/.claude/skills/chatgpt-skills// tip: Run this command in your terminal to install the skill
SKILL.md
name: password-generator description: Generate secure passwords and passphrases with customizable rules. Check password strength, generate bulk passwords, and create memorable passphrases.
Password Generator
Generate cryptographically secure passwords and memorable passphrases. Customize character sets, length, and rules. Includes strength checking and bulk generation.
Quick Start
from scripts.password_gen import PasswordGenerator
# Generate password
gen = PasswordGenerator()
password = gen.generate(length=16)
print(password) # "K#9mPx$vL2nQ@8wR"
# Generate passphrase
passphrase = gen.passphrase(words=4)
print(passphrase) # "correct-horse-battery-staple"
Features
- Secure Generation: Uses cryptographically secure random
- Custom Rules: Character sets, required types, exclusions
- Passphrases: Word-based memorable passwords
- Strength Check: Evaluate password strength
- Bulk Generation: Generate multiple passwords
- Pronounceable: Generate easier-to-type passwords
API Reference
Basic Generation
gen = PasswordGenerator()
# Default (16 chars, mixed)
password = gen.generate()
# Custom length
password = gen.generate(length=24)
Character Options
# Include/exclude character types
password = gen.generate(
length=16,
uppercase=True,
lowercase=True,
digits=True,
symbols=True
)
# Exclude ambiguous characters (0, O, l, 1, etc.)
password = gen.generate(length=16, exclude_ambiguous=True)
# Custom character set
password = gen.generate(length=16, charset="abc123!@#")
# Exclude specific characters
password = gen.generate(length=16, exclude="{}[]")
Requirements
# Require at least N of each type
password = gen.generate(
length=16,
min_uppercase=2,
min_lowercase=2,
min_digits=2,
min_symbols=2
)
Passphrases
# Word-based passphrase
passphrase = gen.passphrase(words=4)
# "correct-horse-battery-staple"
# Custom separator
passphrase = gen.passphrase(words=4, separator="_")
# "correct_horse_battery_staple"
# With number
passphrase = gen.passphrase(words=3, include_number=True)
# "correct-horse-42-battery"
# Capitalize words
passphrase = gen.passphrase(words=4, capitalize=True)
# "Correct-Horse-Battery-Staple"
Strength Check
strength = gen.check_strength("MyP@ssw0rd!")
# {
# 'score': 3, # 0-4 scale
# 'label': 'Strong', # Weak, Fair, Good, Strong, Very Strong
# 'entropy': 65.2, # Bits of entropy
# 'feedback': ['Good length', 'Has symbols']
# }
Bulk Generation
# Generate multiple passwords
passwords = gen.generate_bulk(count=10, length=16)
# To CSV
gen.generate_to_csv("passwords.csv", count=100, length=20)
CLI Usage
# Generate single password
python password_gen.py --length 16
# Generate passphrase
python password_gen.py --passphrase --words 4
# Custom options
python password_gen.py --length 20 --no-symbols --exclude-ambiguous
# Bulk generate
python password_gen.py --count 10 --length 16
# Check strength
python password_gen.py --check "MyPassword123!"
# Generate to file
python password_gen.py --count 100 --output passwords.txt
CLI Arguments
| Argument | Description | Default |
|---|---|---|
--length | Password length | 16 |
--count | Number to generate | 1 |
--passphrase | Generate passphrase | False |
--words | Words in passphrase | 4 |
--no-uppercase | Exclude uppercase | False |
--no-lowercase | Exclude lowercase | False |
--no-digits | Exclude digits | False |
--no-symbols | Exclude symbols | False |
--exclude-ambiguous | Exclude 0, O, l, 1 | False |
--check | Check password strength | - |
--output | Output file | - |
Examples
Strong Random Password
gen = PasswordGenerator()
password = gen.generate(
length=20,
min_uppercase=2,
min_lowercase=2,
min_digits=2,
min_symbols=2
)
print(f"Password: {password}")
print(f"Strength: {gen.check_strength(password)['label']}")
Memorable Passphrase
gen = PasswordGenerator()
passphrase = gen.passphrase(
words=4,
capitalize=True,
include_number=True,
separator="-"
)
print(passphrase)
# "Tiger-Mountain-42-Sunset-Lake"
PIN Generation
gen = PasswordGenerator()
pin = gen.generate(
length=6,
uppercase=False,
lowercase=False,
digits=True,
symbols=False
)
print(f"PIN: {pin}") # "847291"
Batch for Team
gen = PasswordGenerator()
# Generate passwords for new team members
team = ["alice", "bob", "charlie"]
for member in team:
password = gen.generate(length=16)
print(f"{member}: {password}")
Strength Scoring
| Score | Label | Description |
|---|---|---|
| 0 | Very Weak | < 28 bits entropy |
| 1 | Weak | 28-35 bits |
| 2 | Fair | 36-59 bits |
| 3 | Strong | 60-127 bits |
| 4 | Very Strong | 128+ bits |
Dependencies
(No external dependencies - uses Python standard library)
Security Notes
- Uses
secretsmodule for cryptographic randomness - Never logs or stores generated passwords
- Passphrase wordlist is embedded (no external calls)
- Strength check is local (no external API)
Repository

dkyazzentwatwa
Author
dkyazzentwatwa/chatgpt-skills/password-generator
1
Stars
0
Forks
Updated1d ago
Added1w ago