跳到主要内容

password-generator-20261103

收藏0

本地离线随机密码生成器,按指定长度和字符集(大小写字母、数字、特殊符号)生成密码学安全的高强度随机密码,支持批量生成、排除易混淆字符、保证每类字符至少出现一次,全程不联网。

让 AI 安装

Mercury最新版本 0.1.0更新于 2026-11-03下载 0 次

SKILL.md

随机密码生成器#

本技能是一个纯本地、离线的随机密码生成工具:

  • 能做什么:按自定义长度、字符集和数量生成随机密码;可排除易混淆字符(0/O、1/l/I 等);可保证每个启用的字符集至少出现一个字符;
  • 带不带脚本:带一个 PowerShell 脚本 scripts/New-Password.ps1,仅依赖 .NET 自带的加密随机数生成器,无需安装任何第三方模块;
  • 联不联网:不联网,不发起任何网络请求;
  • 写不写文件:默认只把密码输出到屏幕;只有显式传入 -OutFile 参数时才会写入文本文件。

适用场景#

  • 为新账号、服务器、数据库或 API 密钥生成强密码;
  • 批量生成临时密码或初始口令;
  • 满足"长度 ≥ N 且同时包含大小写字母、数字、符号"的密码策略。

使用方法#

在技能目录下打开 PowerShell:

# 生成 1 个 16 位密码(默认)
powershell -ExecutionPolicy Bypass -File .\scripts\New-Password.ps1

# 生成 3 个 20 位密码
.\scripts\New-Password.ps1 -Length 20 -Count 3

# 不含特殊符号,并排除易混淆字符
.\scripts\New-Password.ps1 -Length 24 -NoSymbols -ExcludeAmbiguous

# 仅数字(如生成 6 位数字口令)
.\scripts\New-Password.ps1 -Length 6 -NoLowercase -NoUppercase -NoSymbols

# 写入文件(UTF-8 无 BOM)
.\scripts\New-Password.ps1 -Count 5 -OutFile .\passwords.txt

参数说明#

参数说明默认值
-Length密码长度,范围 4~12816
-Count生成条数,范围 1~1001
-ExcludeAmbiguous排除易混淆字符:`0 O o 1 l I ' "
-NoLowercase不使用小写字母关闭
-NoUppercase不使用大写字母关闭
-NoDigits不使用数字关闭
-NoSymbols不使用特殊符号关闭
-OutFile结果写入指定文件;不传则只输出到屏幕空

实现要点#

  • 随机源为 System.Security.Cryptography.RandomNumberGenerator(密码学安全),不使用 Get-Random;
  • 采用拒绝采样消除取模偏差,每个字符被选中的概率相等;
  • 当长度不小于启用字符集数量时,先从每个字符集各取一个字符,再用 Fisher-Yates 洗牌,保证字符类别齐全且位置随机;
  • 兼容 Windows PowerShell 5.1 与 PowerShell 7+。

安全提示#

生成的密码属于敏感信息,使用 -OutFile 时请妥善保管输出文件,不要把它提交到代码仓库或通过不安全渠道传输。

用途与依赖

作者没写,这些是平台读文件后整理的,以文件为准。

使用示例

请求:帮我生成 3 个 20 位密码,不要特殊符号,并排除容易看错的字符。

预期

运行 .\scripts\New-Password.ps1 -Length 20 -Count 3 -NoSymbols -ExcludeAmbiguous,在屏幕上输出 3 条 20 位随机密码,每条都包含大小写字母和数字,且不含 0/O/o/1/l/I/| 等易混淆字符。若用户要求保存,则加 -OutFile 参数写入指定文本文件。

适用场景
  • 为新账号、服务器、数据库或 API 密钥生成强密码
  • 批量生成临时密码或初始口令
  • 生成满足“长度 ≥ N 且包含大小写字母、数字、符号”策略的密码
  • 生成不含特殊符号的密码
  • 生成排除易混淆字符的密码,便于人工抄写
  • 生成纯数字口令(如 6 位数字)
  • 把批量生成的密码写入文本文件备用
输入
  • 密码长度(4~128,默认 16)
  • 生成条数(1~100,默认 1)
  • 是否排除易混淆字符
  • 是否禁用小写字母、大写字母、数字、特殊符号中的某一类
  • 可选的输出文件路径(-OutFile)
输出
  • 生成的随机密码(默认输出到屏幕,每条一行)
  • 指定 -OutFile 时写入的 UTF-8 无 BOM 文本文件,并提示写入条数与路径
运行环境
Windows PowerShell 5.1 或 PowerShell 7+
依赖
无