跳到主要内容

password-generator-20261103

收藏0

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

让 AI 安装

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

SKILL.md

2.8 KB查看源码

随机密码生成器#

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

  • 能做什么:按自定义长度、字符集和数量生成随机密码;可排除易混淆字符(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 时请妥善保管输出文件,不要把它提交到代码仓库或通过不安全渠道传输。

文件内容是平台检查时读出的文本,只供查看。平台不会运行包里的任何脚本或程序。