feat: 密码生成器 simple_password 初版 (#1)

单文件 index.html,纯 HTML + CSS + JS,零外部依赖,双击即用。

功能:
- 长度 4~64 可调;选「每类至少一位」时下限自动收紧到所选类型数
- 小写 / 大写 / 数字 / 符号四类可选,全不选会兜回小写而非生成空密码
- 生成即复制;剪贴板 API 不可用时降级到 execCommand
- 排除易混淆字符(0 O o 1 l I)与自定义排除
- 真实熵值(长度 × log2(字符池))与五档强度评价
- 批量生成 5 个候选、最近 6 条历史(仅本机 localStorage)
- 深浅色跟随系统并可手动切换,首帧前定主题避免闪烁
- 快捷键:空格换一个、C 复制

实现要点:
- 随机数走 crypto.getRandomValues + 拒绝采样,消除取模偏差
- 「每类至少一位」= 各类先取一位 + 剩余全池随机 + 整体洗牌,
  避免固定位置带来的可预测性

验证:功能判据 80 条、浏览器几何/对比度/多视口 105 条、
真实剪贴板端到端 18 条全绿;24 条反向注入全部命中。
This commit is contained in:
2026-10-28 11:52:37 +08:00
commit 853531c07c
6 changed files with 1934 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
# 统一换行符:仓库内一律 LF,避免 Windows 提交后被转成 CRLF,
# 部署到 Linux 上再出现整文件 diff。
* text=auto eol=lf
# 图片是二进制,别做换行转换
*.png binary
*.jpg binary
*.webp binary
*.ico binary