mcpField
P
password-generator

password-generator

github.com/dkyazzentwatwa安全12455 次安装29 周前更新
代码仓库

关于 password-generator

面向需要生成可定制密码或短语密码的 Python 技能,使用密码学安全随机数,并提供强度检查和批量输出。

主要功能

  1. 01密码学安全随机生成
  2. 02自定义字符集和规则
  3. 03基于单词的短语密码
  4. 04密码强度检查
  5. 05批量生成并导出 CSV
  6. 06生成易读密码

适用场景

  1. 01按长度和字符规则创建密码
  2. 02生成易记的短语密码
  3. 03检查密码的估算强度
  4. 04为团队准备一批密码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill password-generator

安装后在 Claude Code 中输入/password-generator确认已加载。

附带文件scripts/password_gen.pyscripts/requirements.txt

详细介绍

密码生成器

生成具备密码学安全性的密码和易记的密码短语。自定义字符集、长度和规则。包含强度检查和批量生成。

快速开始

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"

功能

  • 安全生成:使用密码学安全的随机数
  • 自定义规则:字符集、必需类型、排除项
  • 密码短语:基于单词的易记密码
  • 强度检查:评估密码强度
  • 批量生成:生成多个密码
  • 易于读出:生成更易输入的密码

API 参考

基本生成
gen = PasswordGenerator()

# Default (16 chars, mixed)
password = gen.generate()

# Custom length
password = gen.generate(length=24)
字符选项
# 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="{}[]")
要求
# Require at least N of each type
password = gen.generate(
    length=16,
    min_uppercase=2,
    min_lowercase=2,
    min_digits=2,
    min_symbols=2
)
密码短语
# 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 = 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']
# }
批量生成
# Generate multiple passwords
passwords = gen.generate_bulk(count=10, length=16)

# To CSV
gen.generate_to_csv("passwords.csv", count=100, length=20)

CLI 用法

# 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 参数
参数描述默认值
--length密码长度16
--count生成数量1
--passphrase生成密码短语False
--words密码短语中的单词数4
--no-uppercase排除大写字母False
--no-lowercase排除小写字母False
--no-digits排除数字False
--no-symbols排除符号False
--exclude-ambiguous排除 0、O、l、1False
--check检查密码强度-
--output输出文件-

示例

强随机密码
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']}")
易记的密码短语
gen = PasswordGenerator()
passphrase = gen.passphrase(
    words=4,
    capitalize=True,
    include_number=True,
    separator="-"
)
print(passphrase)
# "Tiger-Mountain-42-Sunset-Lake"
PIN 生成
gen = PasswordGenerator()
pin = gen.generate(
    length=6,
    uppercase=False,
    lowercase=False,
    digits=True,
    symbols=False
)
print(f"PIN: {pin}")  # "847291"
团队批量生成
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}")

强度评分

评分标签描述
0非常弱< 28 位熵
1弱28-35 位
2一般36-59 位
3强60-127 位
4非常强128 位以上

依赖项

(No external dependencies - uses Python standard library)

安全说明

  • 使用 secrets 模块生成密码学安全的随机数
  • 从不记录或存储生成的密码
  • 密码短语词表内置(不进行外部调用)
  • 强度检查在本地进行(不调用外部 API)

评论

支持 Markdown