跳到主要内容

password-generator-20261103

收藏0

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

让 AI 安装

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

SKILL.md

2.8 KB查看排版效果
1---
2name: password-generator-20261103
3description: 本地离线随机密码生成器,按指定长度和字符集(大小写字母、数字、特殊符号)生成密码学安全的高强度随机密码,支持批量生成、排除易混淆字符、保证每类字符至少出现一次,全程不联网。
4---
5
6# 随机密码生成器
7
8本技能是一个**纯本地、离线**的随机密码生成工具:
9
10- **能做什么**:按自定义长度、字符集和数量生成随机密码;可排除易混淆字符(0/O、1/l/I 等);可保证每个启用的字符集至少出现一个字符;
11- **带不带脚本**:带一个 PowerShell 脚本 `scripts/New-Password.ps1`,仅依赖 .NET 自带的加密随机数生成器,无需安装任何第三方模块;
12- **联不联网**:**不联网**,不发起任何网络请求;
13- **写不写文件**:默认只把密码输出到屏幕;只有显式传入 `-OutFile` 参数时才会写入文本文件。
14
15## 适用场景
16
17- 为新账号、服务器、数据库或 API 密钥生成强密码;
18- 批量生成临时密码或初始口令;
19- 满足"长度 ≥ N 且同时包含大小写字母、数字、符号"的密码策略。
20
21## 使用方法
22
23在技能目录下打开 PowerShell:
24
25```powershell
26# 生成 1 个 16 位密码(默认)
27powershell -ExecutionPolicy Bypass -File .\scripts\New-Password.ps1
28
29# 生成 3 个 20 位密码
30.\scripts\New-Password.ps1 -Length 20 -Count 3
31
32# 不含特殊符号,并排除易混淆字符
33.\scripts\New-Password.ps1 -Length 24 -NoSymbols -ExcludeAmbiguous
34
35# 仅数字(如生成 6 位数字口令)
36.\scripts\New-Password.ps1 -Length 6 -NoLowercase -NoUppercase -NoSymbols
37
38# 写入文件(UTF-8 无 BOM)
39.\scripts\New-Password.ps1 -Count 5 -OutFile .\passwords.txt
40```
41
42## 参数说明
43
44| 参数 | 说明 | 默认值 |
45|---|---|---|
46| `-Length` | 密码长度,范围 4~128 | 16 |
47| `-Count` | 生成条数,范围 1~100 | 1 |
48| `-ExcludeAmbiguous` | 排除易混淆字符:`0 O o 1 l I | ` ' "` | 关闭 |
49| `-NoLowercase` | 不使用小写字母 | 关闭 |
50| `-NoUppercase` | 不使用大写字母 | 关闭 |
51| `-NoDigits` | 不使用数字 | 关闭 |
52| `-NoSymbols` | 不使用特殊符号 | 关闭 |
53| `-OutFile` | 结果写入指定文件;不传则只输出到屏幕 | 空 |
54
55## 实现要点
56
57- 随机源为 `System.Security.Cryptography.RandomNumberGenerator`(密码学安全),不使用 `Get-Random`;
58- 采用拒绝采样消除取模偏差,每个字符被选中的概率相等;
59- 当长度不小于启用字符集数量时,先从每个字符集各取一个字符,再用 Fisher-Yates 洗牌,保证字符类别齐全且位置随机;
60- 兼容 Windows PowerShell 5.1 与 PowerShell 7+。
61
62## 安全提示
63
64生成的密码属于敏感信息,使用 `-OutFile` 时请妥善保管输出文件,不要把它提交到代码仓库或通过不安全渠道传输。

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