📑 文章目录
  1. Anypass 是什么
  2. 关键数字一览
  3. 快速上手:3 步生成第一个密码
  4. 随机密码(普通模式):字符集自由组合
  5. 和其他方案的对比
  6. 格式模板:自定义分组结构
  7. 骰子词(Diceware / Passphrase):易记忆的密码短语
  8. 和其他 Passphrase 方案的对比
  9. 可发音密码:能念出来的密码
  10. PIN:纯数字,带防弱码规则
  11. 和其他 PIN 生成方式的对比
  12. 密码强度评估(强度检测):熵值 + zxcvbn 双指标
  13. 实用工具集
  14. URL 编解码
  15. Base64 编解码
  16. 哈希计算
  17. UUID 生成
  18. 时间戳转换
  19. 两步验证(2FA):TOTP 动态验证码生成
  20. 安全设计
  21. 和其他方案的安全对比
  22. 局限
  23. 适合谁用
  24. FAQ
  25. 它是什么
  26. 比较与安全
  27. 日常使用
  28. 密码安全常识
  29. 该不该用
  30. 总结

时间测试

本站之前发布的那几个小工具,全都依赖 WebView 环境运行。最近想尝试用 Rust 的原生 GUI 框架重新实现一版,最终选定了 Iced。前些天用 CleanX 先写了一版,体验下来感觉还不错。

之前那些工具暂时不打算重构了,改动成本太高。

于是把目光转向了我们日常仍在用的工具,最终锁定了 Randpass —— 这些年注册各类国外调查问卷平台账号时,生成密码一直靠它,有十几年了啊!如今,该让它 “退休” 了。

接棒的是全新登场的 Anypass。功能层面做到 “5种生成模式 + 6个实用工具”,具体细节后文有详细介绍。

Anypass 不依赖 WebView,也不需要任何额外运行时环境。只要你的 Windows 系统运行正常,双击 Anypass.exe 就能直接使用。首次使用 2FA 功能时会自动创建本地数据库文件。

这里不放下载链接,本站学员如有需要,随时在飞书上说一声;非学员可以在评论区留言,通过邮件把Anypass发给大家。

Anypass 密码生成器:随机密码、骰子词、PIN、2FA 两步验证码,Windows 免费离线工具

Anypass 密码生成器应用界面截图

Anypass 是什么

Anypass 是一个 Windows 桌面密码生成器(密码生成工具),作者按自用需求写的。纯 Rust 后端 + Iced 原生 GUI,不用 WebView、没有 Electron、没有 npm 依赖,编译产物是单个 exe,大小约 2.7MB。没有联网功能,没有许可证模块,关掉窗口进程就退出。

它把密码生成和六个编码/哈希/安全工具放在一个程序里:普通密码、格式模板、骰子词、可发音密码、PIN——五种生成模式覆盖了日常用到的绝大多数场景。还有 URL 编解码、Base64、三种哈希、UUID、时间戳转换、2FA 双因素认证动态码生成(支持密钥本地混淆加密保存、名称搜索、otpauth 链接解析),开发者和安全场景日常够用。

实测环境:Windows 11(Windows 10 64 位亦可运行)。2FA 密钥数据库文件(anypass.db)会自动创建在程序同目录。

快速了解:Anypass 是一款免费、离线的 Windows 密码生成器。5 种密码生成模式(随机密码、格式模板、骰子词、可发音密码、PIN)+ 实时熵值与 zxcvbn 密码强度评分 + URL/Base64/哈希/UUID/时间戳/两步验证(2FA,双因素认证)动态验证码 6 个工具,全部在一个 2.7MB 的单文件 exe 里,不联网、不安装。2FA 密钥支持本地混淆加密保存、名称搜索、otpauth 链接导入。

关键数字一览

常用数字速查:

指标 数值
程序体积 exe 约 2.7MB
生成模式 5 种:普通、模板、骰子词、可发音、PIN
实用工具 6 个:URL 编解码、Base64、哈希(MD5/SHA1/SHA256)、UUID、时间戳、两步验证(2FA)动态验证码
密码长度上限 128 位(普通/可发音)
单次生成数量 1~100 条
骰子词词表 EFF Large Wordlist,7776 词
PIN 防护规则 防连续重复 + 防递增/递减三连
强度评估 熵值(bits)+ zxcvbn 0-4 分彩色徽章
随机源 系统 CSPRNG(密码学安全)
窗口默认尺寸 960×720,自动紧凑布局
依赖运行时 无(纯 Rust 静态编译)
2FA 密钥存储 本地混淆加密存储,支持保存/编辑/删除

快速上手:3 步生成第一个密码

  1. 选模式:普通 / 模板 / 骰子词 / 可发音 / PIN,对应下方各标签页
  2. 调参数:长度、字符类、分隔符等,右侧实时显示熵值与强度评分
  3. 生成复制:点「生成」,再点密码右侧的复制按钮,粘贴到目标网站即可

要生成 2FA 动态验证码,切到「两步验证」工具,粘贴平台给您的验证密钥即可,详细步骤见下文。

随机密码(普通模式):字符集自由组合

随机密码生成器最常用的模式,通常说的"随机密码"就是它。四个字符类独立开关——小写字母 a-z、大写字母 A-Z、数字 0-9、自定义字符(默认 %*$@!?&^,最多 64 个字符),每类可以单独启用或关闭。

两个排除开关:基础排除剔除 I l 1 | O 0 o 这类形近字符,额外排除再加 B 8 S 5 Z 2 6 G。对于需要手抄密码的场景,形近字符排除很有用——抄错一个字符就登不进去。

大小写变换有四个选项:保持原样、全小写、全大写、随机大小写。随机大小写是逐字母掷硬币,不是整条统一变。

长度 1~128 位,一次生成 1~100 条。每条密码保证至少出现一个启用字符类的字符,不会出现"开了数字结果一条纯字母"的情况。

右侧有个「显示有效字符集」开关,打开后能看到当前启用的所有字符和总数,方便确认字符池是不是自己想要的。

和其他方案的对比

方案 字符集控制 排除易混淆 批量生成 离线可用 体积 2FA 支持
Anypass 4 类独立开关 + 自定义字符 两级排除 1~100 条 完全离线 2.7MB 密钥本地保存、搜索生成
KeePass 生成器 字符集可勾选 无内置排除 每次 1 条 完全离线 KeePass 本体约 3MB 需要插件
Bitwarden 生成器 字符类开关 无 每次 1 条 需要客户端/网页 客户端约 80MB 手机端
在线生成器(random.org 等) 基本可调 部分支持 通常 1 条 必须联网 0(网页) 无
pwgen(命令行) 参数控制 有 可批量 完全离线 几百 KB 无

Anypass 的差异在批量、排除和 2FA:一次出 100 条、两级形近字符排除、2FA 密钥本地保存并搜索生成,这些是其他工具不常同时具备的。KeePass 生成器每次只出一条,要批量得反复点;在线生成器必须联网,密码经过网络传输;pwgen 功能够但没有 GUI。Anypass 的 2FA 功能让它不只是密码生成器,还是一个轻量的两步验证工具。

格式模板:自定义分组结构

模板模式用一个字符串定义密码的分组格式。语法很简单:花括号括起来,数字是分组长度,其他字符自动当分隔符。

几个常用模板:

模板 输出示例 用途
{8-4-4-4-12} a3Bf9kL2-xP4m-Q7rT-8nWcYdEhJkMp 类 UUID 格式,API Key 风格
{4-4-4-4} xP4m-Q7rT-a3Bf-9kL2 短分组,易读
{6-6} kL2xP4-mQ7rTa 两段式
{16} a3Bf9kL2xP4mQ7rT 无分隔纯密码

分隔符支持混合使用——{4-4_4.4} 也是合法模板。模板总长度上限 256 个字符。同样支持字符类选择和大小写变换。

这个模式在其他密码生成器里很少见。KeePass 和 Bitwarden 的生成器都是固定格式输出,没有模板语法;在线生成器最多提供"每 N 个字符加分隔符"的选项。模板模式的优势是:生成的密码格式完全可控,适合有格式要求的系统(比如某些旧系统要求密码带特定分隔符)。对于我们专业答卷赚钱的来说,以前改链接经常用,现在偶尔用一用。

骰子词(Diceware / Passphrase):易记忆的密码短语

基于 EFF 大词表(7776 个英语单词)生成密码短语。原理是用骰子(或随机数)从词表里选词,每个词的熵是 log2(7776) ≈ 12.9 bits。

参数:

参数 范围 默认
单词数 1~32 5
分隔符 - _ . 空格 无 -
首字母大写 开/关 关

5 个单词 ≈ 64.5 bits 熵,对一般用途够用;7 个单词 ≈ 90 bits,适合高安全需求。分隔符选"无"时单词直接拼接,长度会变短但可读性下降。

和其他 Passphrase 方案的对比

方案 词表 词表大小 熵/词 分隔符选项 首字母大写
Anypass EFF Large 7776 ~12.9 bits 5 种 有
KeePass 内置/自定义 可变 可变 无(直接拼接) 无
Bitwarden 内置 ~1000+ ~10 bits 3 种 有
diceware.com EFF/原始 7776 ~12.9 bits 空格 无
pwgen 无 Passphrase 模式 — — — —

Anypass 用的是 EFF 官方词表(CC-BY-3.0 授权),和 diceware 同源。Bitwarden 的内置词表较小,每词熵低一些。KeePass 支持自定义词表但配置门槛高。

可发音密码:能念出来的密码

用辅音+元音音节组合生成可以朗读的密码,适合需要口头传达的场景(比如电话里告诉同事临时密码)。

三种音节风格:

风格 每音节结构 示例 特点
CV 辅音+元音 baku 最简单,4 个字母一个音节
CVC 辅音+元音+辅音 bikot 安全性更高
Mixed 混合 baku-tor 默认,兼顾可读性和安全性

辅音包括单字母和双字母组合(ch、sh、th、ph 等),元音同理(ai、ea、ee 等)。"避免重复音节"开关确保相邻音节不同,防止出现 baba 这种重复模式。

其他密码生成器基本没有这个功能。KeePass 和 Bitwarden 的生成器只支持随机字符和 Passphrase,不支持可发音模式。需要口头传达密码时,可发音密码比随机字符串实用得多。

PIN:纯数字,带防弱码规则

生成纯数字 PIN,带两条防弱码规则:

  • 防连续重复:拒绝 112233 这种相邻两位相同的模式
  • 防递增/递减三连:拒绝 123、987、456 这种连续三数字序列

两条规则独立开关,都默认开启。规则用拒绝采样实现——随机生成后验证,不合格就重新来,最多 1000 次尝试。

位数 1~32 位,默认 6 位。银行 PIN 一般是 4~6 位,手机解锁一般是 4~6 位,按需设置。

和其他 PIN 生成方式的对比

方案 防重复 防序列 位数范围 离线
Anypass 有 有 1~32 完全离线
random.org 无 无 任意 必须联网
手动想的 无 无 — —
KeePass 无内置 PIN 模式 — — —

Anypass 的防弱码规则是它和其他生成器拉开差距的地方。大多数人手动想 PIN 会用生日、重复数字、连续数字,这些模式在暴力破解时排在最前面被尝试。防弱码规则不是让 PIN 更难猜(熵没变),而是过滤掉人容易选的弱组合。

密码强度评估(强度检测):熵值 + zxcvbn 双指标

每条生成的密码右侧显示两个强度指标,相当于内置了一个密码强度检测器:

熵值(bits)——基于信息论计算的理论强度:

模式 计算方式 5 条默认参数的熵
普通密码(10 位,默认 4 类字符 + 基础排除,64 字符池) 长度 × log2(字符池大小) ~60 bits
模板 {8-4-4-4-12}(32 字符) 实际字符数 × log2(字符池) ~192 bits
骰子词(5 词) 词数 × log2(7776) ~64 bits
可发音(12 位 Mixed) 按音节风格加权 ~54 bits
PIN(6 位) 位数 × log2(10) ~20 bits

zxcvbn 评分(0~4)——基于常见密码模式的实战强度评估,比纯熵值更贴近实际:

分数 标签 颜色 含义
0 极弱 玫红 常见密码或极短
1 弱 橙 有明显模式
2 一般 黄 有一定复杂度
3 强 青 较难破解
4 极强 绿 实际不可破解

zxcvbn 和纯熵值的区别:zxcvbn 会识别常见模式(password123 熵不低但 zxcvbn 评分为 0),纯熵值只看字符空间大小。两个指标互补使用更准确。

同样的密码,两个指标给出的结论可能完全不同(理论熵值按默认参数 64 字符池估算,即默认开启基础排除):

示例密码 理论熵值 zxcvbn 评分 说明
password123 ~66 bits(11 位) 0 极弱 常见弱密码,词典直接命中
P@ssw0rd ~48 bits(8 位) 1 弱 单词 + 常见替换字符
qwertyuiop ~60 bits(10 位) 0 极弱 键盘顺序模式
5 词骰子词(如 correct-horse-battery-staple-quantum) ~64 bits 4 极强 随机英语单词,无模式可破
模板生成的 32 位密码 ~192 bits 4 极强 全随机字符

参考标准:64 bits 以上适合一般用途(网站登录、邮箱),128 bits 以上适合高安全需求(加密密钥、证书)。PIN 的 20 bits 看起来低,但 PIN 通常有尝试次数限制(输错 3 次锁定),实际安全性取决于锁定策略而非纯熵值。

实用工具集

六个工具,通过左侧顶部下拉菜单切换。工具视图和密码生成视图互相独立,切换时各自状态保留。

URL 编解码

百分号编码和解码。中文、空格、特殊字符 ↔ %XX 格式。

  • 答卷赚钱 → %E7%AD%94%E5%8D%B7%E8%B5%9A%E9%92%B1
  • %E5%9B%BD%E5%A4%96%E8%B0%83%E6%9F%A5%E8%B5%9A%E9%92%B1 → 国外调查赚钱

Base64 编解码

文本和 Base64 互转。用的是 Standard 编码(带 = 填充)。

  • Survey → U3VydmV5
  • U3VydmV5= → Survey

解码失败时显示具体错误(Base64 格式错误、UTF-8 转换失败等)。

哈希计算

输入文本,一次性算出三种哈希值,三个独立卡片各自可复制:

算法 输出长度 用途
MD5 32 个十六进制字符 文件校验(不推荐用于安全场景)
SHA1 40 个十六进制字符 Git commit hash、旧系统兼容
SHA256 64 个十六进制字符 安全校验、数字签名

三种哈希同时显示,不用切换、不用等。点击每张卡片的复制按钮单独复制,不需要手动选中。

UUID 生成

批量生成 v4 UUID(随机版本)。数量 1~100 个,生成后每行一个,可逐行复制。

格式符合 RFC 4122 标准:xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,第 13 位固定是 4(版本号),第 17 位是 8/9/a/b(变体标识)。

时间戳转换

Unix 时间戳和北京时间(UTC+8)互转:

  • 获取当前时间:点击按钮同时显示北京时间(年-月-日 时:分:秒)和 Unix 时间戳
  • 时间戳 → 日期:输入秒级或毫秒级时间戳,自动识别(超过 10^12 当毫秒处理)
  • 日期 → 时间戳:输入 2026-08-19 12:00:00 或 2026-08-19 格式,视为北京时间

解析失败时显示支持的格式列表,不会给一个看不懂的错误。

两步验证(2FA):TOTP 动态验证码生成

两步验证(2FA,也叫双因素认证、双重认证、动态口令)验证码生成器:输入平台提供的验证密钥(Base32 格式,A-Z 和 2-7),生成 6 位一次性验证码。支持 Google Authenticator、Microsoft Authenticator、Authy 等所有主流身份验证器应用。

特性 说明
密钥格式 Base32(各平台通用,也叫设置密钥或安全密钥)
验证码 6 位数字,TOTP 算法(基于时间的一次性密码,RFC 6238)
刷新周期 30 秒(RFC 6238 标准),带倒计时进度条(绿→黄→红)
状态保持 停止后重新开始,倒计时继续而非重置
密钥管理 支持保存/编辑/删除密钥,本地混淆加密存储
智能输入 输入 Base32 格式自动识别为密钥,输入其他内容自动搜索已保存的名称
链接解析 支持粘贴 otpauth:// 链接,自动识别名称和密钥
常用列表 显示最近使用的密钥,支持快速选择和删除

2FA 是什么?为什么值得开启

两步验证(2FA,双因素认证)的核心是"双因素":登录时除了密码(你知道的),还要一个动态验证码(你拥有的设备生成的)。即使密码泄露——撞库、钓鱼、网站数据泄露——小偷没有你的设备,也过不了第二关。

这不是空话,有权威数据支撑:Google 2019 年发布的研究显示,仅在账户上添加一个恢复手机号,就拦下了 100% 的自动化撞库攻击、99% 的批量钓鱼攻击和 66% 的有针对性的攻击;微软 2019 年的统计同样表明,被攻破的账户中 99.9% 没有开启多重验证。两步验证是当前性价比最高的账号保护手段。

常见的两步验证方式对比:

方式 代表 安全性 离线可用 依赖手机
短信验证码 银行、电商 较低(SIM 卡补办、短信被拦截) 否 是
邮箱验证码 各类网站 中(邮箱本身可能被攻破) 否 视邮箱而定
TOTP 认证器 Google Authenticator、Authy、Anypass 高(本地计算,不经过网络) 是 否
推送确认 微信/QQ 安全中心、Steam 高 否 是
硬件密钥 YubiKey 最高 是 否

TOTP 认证器是少有的"离线"方案:验证码由密钥和时间在本地算出,不依赖短信通道、不经过网络传输,安全性比短信验证码高一档——这正是 Anypass 集成它的原因。

TOTP 验证码的原理:30 秒一个的 6 位数字是怎么来的

TOTP(RFC 6238,基于时间的一次性密码)的大致流程:

  1. 平台和您各自保存同一个密钥(Base32 格式,一串大写字母和数字)
  2. 每 30 秒为一个周期,用"密钥 + 当前时间周期"做 HMAC 运算,截取出一段变成 6 位数字
  3. 验证码只在当前 30 秒内有效,过期自动换新码;服务器用同样的算法校验

几个设计细节,都是为了实用:

  • 密钥为什么是 Base32(只有 A-Z 和 2-7):去掉了 0/O、1/I 这类易混淆字符,手抄不易错
  • 为什么是 6 位数字:10^6 种组合,配合尝试次数限制,30 秒内猜中的概率可忽略,同时好记好输入
  • 为什么 30 秒刷新:验证码生命周期短,即使被人偷看,过期就失效
  • 为什么不用联网:算法只需要密钥和时间,不需要服务器参与

这套标准全球通用,同一个密钥在 Google Authenticator、Authy、Anypass 里生成的验证码完全一致——平台"扫码"背后的二维码,内容就是一个 otpauth:// 链接,Anypass 支持直接粘贴解析。

使用 2FA 的几条安全须知

  • 务必保存恢复码:开启两步验证时平台通常会给一串恢复码/备用码,第一时间截图或抄下存好——丢失手机或误删验证器应用时,这是找回账号的唯一途径
  • 密钥不要泄露:验证密钥、恢复码、生成的验证码,都不要截图发群、发邮件或存进网盘
  • 警惕实时转发钓鱼:有骗子搭建"假登录页 + 真平台转发"的骗局,诱骗您输入刚生成的验证码并实时转发。只认官方域名,看清网址再输
  • 多设备备份:验证码在哪台设备生成都行,但建议至少保留一条找回路径——恢复码,或在另一台设备(如 Anypass)备份密钥

操作流程:

直接输入密钥:粘贴验证密钥 → 点「开始」→ 右侧显示大号验证码 + 倒计时进度条 → 点「复制验证码」→ 粘贴到需要验证的地方。点「停止」暂停计时,点「清空」重置全部状态。

保存密钥:点「新增密钥」→ 弹出窗口填写名称和密钥 → 点「保存」。之后只需输入名称搜索,点击即可快速生成验证码。

从链接导入:复制 otpauth:// 链接 → 在弹窗的任意输入框粘贴 → 自动识别并填入名称和密钥。

典型场景:在没有手机的情况下,用电脑端生成两步验证(2FA)动态验证码登录各类平台——邮箱、GitHub、Steam、银行等开启了两步验证的账号都适用。验证密钥是你在平台开启两步验证(2FA)时显示的那个字符串,保存好不要泄露。

如图所示:一接码平台启动两步验证后,复制密钥到Anypass,点击开始,把生成的验证码复制到该平台,验证成功!

Anypass 2FA 两步验证动态码验证成功截图

一国外指纹浏览器一直提示让开启2FA两步验证,一直懒得弄,正好现在测试一下,正常开启,验证码没问题。

Anypass 生成 2FA 验证码,国外指纹浏览器认证成功

又测试了一下国际版飞书Lark APP 的两步验证,通过Anypass中的2FA功能认证成功。

Anypass 2FA 验证码,国际版飞书 Lark APP 两步验证开启成功

以上 3 个平台的 2FA 密钥生成规则都不一样,但 Anypass 都测试成功!

安全设计

随机源是系统 CSPRNG——Windows 下由系统内核提供密码学安全的随机数,不是伪随机(Math.random() 那种)。

整条链路没有薄弱环节:随机源是系统级、生成逻辑是纯函数(不依赖外部状态)、结果直接显示或写剪贴板,中间不经过网络、不写磁盘(保存文件是用户主动操作)。2FA 密钥以混淆加密(XOR + SHA-256 派生密钥)存储在本地数据库中——能防止直接打开数据库文件看到明文,但混淆密钥固定内置在程序里,拿到程序文件的分析者理论上可以还原。

几点需要注意:

  • 密码强度取决于长度和字符集选择——8 位小写字母密码,用任何生成器都不安全
  • PIN 的 20 bits 熵看起来低,但 PIN 场景通常有尝试次数限制,暴力破解在锁定机制面前不现实
  • 剪贴板里的密码是明文,复制后尽快粘贴使用,某些恶意软件会监控剪贴板
  • 保存到 txt 文件的密码是明文,文件本身需要妥善保管(加密或存在安全位置)
  • 2FA 密钥是混淆加密存储(XOR + 固定派生密钥,密钥内置在程序里)——防"直接打开数据库看明文"可以,防"拿到 exe 的分析者"不行。对一般使用场景足够安全,敏感场景建议配合专业密码管理器

和其他方案的安全对比

方案 随机源 联网传输 密码/密钥存储 本地运行
Anypass 系统 CSPRNG 无 密码不存储;2FA 密钥本地加密存储 完全本地
KeePass 系统 CSPRNG 无 加密数据库(AES-256/ChaCha20) 完全本地
Bitwarden 系统 CSPRNG 有(同步到云端) 加密数据库 客户端本地,云端同步
在线生成器 取决于网站 有(经过网络) 取决于网站 不本地
pwgen 系统 CSPRNG 无 不存储 完全本地

Anypass 的定位是”生成工具”,不是”密码管理器”。需要长期管理密码的话,KeePass 或 Bitwarden 更合适——它们有加密数据库,密码存在里面不用记。如果你在用本站开发的ClipWatcher剪贴板管家,那复制的所有内容都会暂时保存在这里,如果你同时在用90notes便签笔记应用,那么密码等重要的数据可以保存到90notes,不联网,本地加密保存!

局限

说清楚做不到什么:

  • 不管理密码:没有自动填充功能,没有密码分类和搜索。生成的密码显示在界面上,复制或保存后就没了
  • 不跨平台:只支持 Windows。macOS 和 Linux 用户需要其他方案
  • 没有浏览器扩展:不能自动填充网页表单,得手动复制粘贴
  • 骰子词只有英语词表:7776 个英语单词,对中文用户来说记忆成本比英语母语者高
  • 可发音密码基于英语音节:辅音和元音组合是英语发音规则,非英语母语者可能觉得不够"可发音"
  • 没有自动更新:单文件分发,更新需要手动下载新版本
  • zxcvbn 评估基于英语语料:对中文密码(拼音、中文+数字组合)的评估可能不够准确

适合谁用

适合:

  • 需要快速生成一批密码的人(开发、测试、批量注册账号)
  • 需要特定格式密码的人(模板模式能精确控制分组和分隔符)
  • 需要口头传达临时密码的人(可发音模式)
  • 不想装大型密码管理器、只需要生成功能的人
  • 对离线和隐私有要求的人——完全不联网,密码不经过任何服务器
  • 开发者——UUID、Base64、哈希、时间戳这些日常工具集成在一起,不用开网页
  • 需要在电脑端管理两步验证(2FA)的人——密钥本地保存、名称搜索、支持 otpauth 链接导入

不太适合:

  • 需要长期管理大量密码的人——KeePass 或 Bitwarden 有加密数据库和自动填充
  • 需要浏览器自动填充的人——1Password、Bitwarden 的浏览器扩展更方便
  • 非 Windows 用户——目前只支持 Windows
  • 需要团队协作和密码共享的人——Bitwarden 的组织功能更合适
  • 需要跨设备同步 2FA 密钥的人——Anypass 只在本机存储

替代方案:密码管理用 KeePass(免费开源,离线)或 Bitwarden(免费,跨平台,云端同步);2FA 管理用 Google Authenticator 或 Authy(手机端,支持云同步);只需要在线快速生成用 random.org 的密码生成器。

FAQ

它是什么

Anypass 是什么软件?和 KeePass 有什么区别?
Anypass 是一个密码生成工具,主要管"生成"这一步——选模式、调参数、点生成、复制走人。还支持 2FA 密钥本地保存,方便在电脑端生成验证码。KeePass 是密码管理器,有加密数据库存储所有密码、自动填充、分类管理。如果你只需要"给我一个强密码"或管理 2FA 密钥,Anypass 更轻量;如果需要把密码存起来长期管理,KeePass 更合适。

Anypass 免费吗?有没有广告或捆绑?
免费,没有广告、没有捆绑安装、没有付费机制。单个 exe 文件,双击就能用,不用安装。

和 Bitwarden 的密码生成器比,Anypass 有什么优势?
Bitwarden 的生成器每次只出一条密码,Anypass 一次最多 100 条。Anypass 有模板模式(自定义分组格式)、可发音模式,Bitwarden 没有。2FA 方面,Anypass 支持密钥本地保存和搜索生成,Bitwarden 需要手机端。Anypass 完全离线,Bitwarden 需要客户端或网页。但 Bitwarden 能把生成的密码直接存进加密数据库并自动填充,Anypass 做不到这个。

在线密码生成器够用吗?为什么要用本地工具?
在线生成器(random.org、lastpass 生成器等)功能上够用,但密码在浏览器里生成、经过网络传输、可能被网站记录。本地工具完全离线,密码从生成到复制只在本机内存里存在过。对安全敏感的场景(加密密钥、高权限账号密码、2FA 密钥),本地工具更放心。

比较与安全

密码生成器的安全性取决于什么?
两件事:随机源和生成后的处理。随机源必须是密码学安全的(CSPRNG),不能是伪随机(Math.random())。生成后的处理——密码在内存里待多久、是否经过网络、是否写磁盘。Anypass 用系统 CSPRNG,不联网、不主动写磁盘,密码生命周期很短。2FA 密钥使用混淆加密存储(密钥内置在程序中),防止直接打开数据库文件看到明文;能拿到程序文件的分析者理论上可以还原,对一般使用场景足够安全。

zxcvbn 评分和熵值哪个更准?
两个维度不同。熵值是理论计算——"这个密码在多大的字符空间里随机选的";zxcvbn 是实战评估——"这个密码和常见弱密码模式有多像"。P@ssw0rd 熵不低但 zxcvbn 评分为 1,因为它和常见弱密码太像。两个指标一起看最靠谱。

生成的密码会被记录吗?
不会。程序不写日志、不联网、不把生成的密码存到任何地方。密码只存在于程序内存里,关闭程序就没了。保存到 txt 文件是用户主动操作,文件内容是明文。注意:2FA 密钥会保存在本地数据库中,但密码不会。

剪贴板安全吗?复制密码会不会泄露?
密码写入系统剪贴板后是明文状态。某些恶意软件会监控剪贴板变化。建议复制后尽快粘贴使用,不要让密码在剪贴板里停留太久。部分安全软件提供剪贴板自动清除功能,可以配合使用。

2FA 密钥保存在哪里?安全吗?
2FA 密钥保存在本地数据库文件中,使用混淆加密存储(XOR + 固定派生密钥,密钥内置在程序里)。数据库文件和程序在同一目录,不联网、不上传。它能防止他人直接打开数据库文件看到明文,但能拿到程序文件的分析者理论上可以还原密钥。对于一般使用场景足够安全,如果对安全要求极高,建议用专业密码管理器保管密钥。

如何导入已有的 2FA 密钥?
支持三种方式:1)直接输入 Base32 密钥;2)粘贴 otpauth:// 链接(扫码后的链接),自动识别名称和密钥;3)点击"新增密钥"按钮,在弹窗中填写名称和密钥保存。

TOTP 验证码和短信验证码,哪个更安全?
短信验证码依赖运营商通道,存在 SIM 卡补办、短信被拦截的风险;TOTP 验证码在本地计算,不经过网络传输,安全性更高(前提是保存密钥的设备本身安全)。这也是 Google、GitHub、Steam 等平台默认推荐认证器应用的原因。

手机丢了或误删验证器应用,2FA 怎么办?
用开启两步验证时平台提供的恢复码/备用码登录——所以恢复码一定要提前保存。如果恢复码也丢了,只能走平台的人工申诉流程,通常较慢且不一定成功。把密钥保存在电脑端工具(如 Anypass)里,相当于多一条找回路径:手机丢了不影响生成验证码。

日常使用

要安装吗?需要什么运行环境?
不用安装。单个 exe,双击就能跑。纯 Rust 编译,不依赖 .NET、Java、WebView2 或任何运行时。Windows 10/11 64 位就能用。首次使用 2FA 功能时会自动在程序目录创建加密数据库文件。

一次最多生成多少条密码?
100 条。超过 100 条可以多点几次生成,每次结果会替换上一批。需要保存就点"保存到文件",密码会写进 txt 文件。

骰子词密码好记吗?5 个英语单词够安全吗?
5 个词 ≈ 64 bits 熵,对一般用途(网站登录、邮箱)够用。好记程度取决于词的组合——correct-horse-battery-staple-quantum 比 xP4m-Q7rT 好记得多,因为每个词都是有意义的英语单词。如果觉得 5 个词不够,加到 7 个词 ≈ 90 bits。对中文用户来说,英语单词的记忆成本比英语母语者高一些,这是骰子词方案的通用局限。

模板模式的语法怎么写?
花括号括起来,数字是分组长度,非数字字符自动当分隔符。{8-4-4-4-12} 生成 5 组,分别 8、4、4、4、12 个字符,用 - 分隔。{4_4.4} 生成 3 组各 4 个字符,分别用 _ 和 . 分隔。花括号里不能写字母,分组长度不能为 0。

可发音密码真的能念出来吗?
能。音节按英语发音规则组合——辅音(b、k、t、sh、th 等)+ 元音(a、e、ai、oo 等),拼出来大致能读。Mixed 模式下音节长度不一,可读性比 CV 模式差一些但安全性更高。不过"可发音"是相对的——比 xP4m-Q7rT 好念得多,但也不是自然语言句子。

时间戳转换支持哪些格式?
三种:Unix 时间戳(秒级或毫秒级,自动识别)、YYYY-MM-DD HH:MM:SS、YYYY-MM-DD。日期输入视为北京时间(UTC+8)。其他格式(如 MM/DD/YYYY、带时区的 ISO 8601)不支持。

密码安全常识

密码多长才安全?8 位、12 位还是 16 位?
没有绝对的答案,但有常用参考标准:64 bits 以上熵适合一般网站登录和邮箱,128 bits 以上适合加密密钥。换算下来(按默认 64 字符池估算):8 位混合字符 ≈ 48 bits,用现代设备暴力破解以小时到天计,不建议用于重要账号;12 位 ≈ 72 bits;16 位 ≈ 96 bits。用 Anypass 生成时,普通密码建议 12~16 位,骰子词建议 5~7 个单词。

什么是强密码?怎么才能生成强密码?
强密码通常满足三条:足够长(12 位以上)、完全随机(不是生日、名字、单词变体)、包含多种字符类型(大小写、数字、符号)。反面典型是 password123、qwerty、123456 这类常年霸榜的最弱密码。人自己想出来的密码天然有规律,暴力破解时会优先尝试;生成器产生的随机密码没有规律可循,这就是密码生成器的价值所在。

随机生成的密码会不会和别人重复?
几乎不可能。以默认 64 字符池的 12 位密码为例,组合数 64^12 = 2^72 ≈ 4.7×10^21,相当于全球人口数量(约 80 亿)的平方的 70 多倍。每次生成都从整个字符空间独立采样,两个人生成相同密码的概率在数学上可以忽略。

该不该用

我已经有 Bitwarden/1Password 了,还需要 Anypass 吗?
看你用不用得上那些密码管理器没有的功能。模板模式(自定义分组格式)、可发音密码、一次生成 100 条、2FA 密钥本地保存——这些是 Bitwarden/1Password 的生成器做不到的。如果只需要"给我一个随机密码",密码管理器自带的生成器够用。如果需要批量生成、特定格式、口头传达密码、或在电脑端管理 2FA 密钥,Anypass 的价值在这。

程序会不会偷偷联网?会不会上传密码?
不会。纯 Rust 编译的原生程序,代码里没有任何网络请求的逻辑。可以用网络监控工具验证——程序运行时不会产生任何网络流量。2FA 密钥只保存在本地,不会上传到任何地方。

体积这么小,功能是不是很弱?
体积小是因为技术栈轻——Rust 静态编译、Iced 原生 GUI(不带 Chromium)、用 png crate 替代了 iced 的 image feature(省掉 60 多个依赖包)。功能上五种生成模式 + 六个实用工具 + 熵值/zxcvbn 强度评估 + 2FA 密钥管理,该有的都有。体积和功能没有必然关系——Everything 也是 2~3MB,功能一点不弱。

为什么不用 Electron/Web 技术做?
作者的选择是原生 GUI——启动快、体积小、不吃内存、不依赖运行时。Iced 是 Rust 生态里比较成熟的 GUI 框架,wgpu 后端渲染。用原生 GUI 还能方便地调用系统 API(如单实例检测、剪贴板操作)。

总结

Anypass 一出,又可以替换或卸载很多应用和服务了。RandPass 已彻底从电脑中删除。以前用的各种网页版工具:这类网站页面上满满都是广告,要么是在广告里找服务,要么是打开很慢,都不好用,有了 Anypass,再也不用忍受这种痛苦了。2FA两步验证也不用再依赖手机上的各种 Authenticator 应用了,Anypass 直接在电脑端搞定,密钥还能本地保存,用的时候搜一下点一下就行!

2FA 两步验证是怎么回事呢?各种平台都提示用 Google Authenticator 扫码验证,所以本站一直以为只能用它的,之后才了解到,Microsoft Authenticator、Authy 等其他类似应用都可以。

直到现在才发现这些都不是必须的,只要你想,完全可以自己写一个,所以就把2FA两步验证功能集成到Anypass中了。现在支持密钥本地加密保存,用的时候输个名称搜索一下就能生成验证码,再也不用每次复制密钥了,支持 otpauth 链接直接导入,比之前方便多了!