为什么需要开源的令牌生成器
现在越来越多网站和应用支持双因素认证(2FA),用手机验证码或身份验证器生成的动态码来提升账户安全。很多人习惯用微信或短信接收验证码,但这类方式存在被劫持的风险。而使用本地运行的令牌生成工具,比如基于 TOTP(基于时间的一次性密码)协议的应用,能把密钥保存在自己设备上,更安全也更可控。
几个值得尝试的开源项目
1. andOTP(Android)
如果你用安卓手机,andOTP 是个轻量又可靠的选项。它界面简洁,支持备份加密、指纹解锁,还能直接扫描二维码添加账户。最重要的是,它完全开源,代码托管在 GitHub 上,没有广告也没有联网权限。
你可以通过 F-Droid 或 GitHub Release 安装,不用担心第三方商店打包进奇怪的东西。
2. Raivo OTP(iOS)
iOS 用户可以选择 Raivo OTP。它和 andOTP 功能类似,支持 iCloud 同步但也可以关闭,保证数据只存在本地。它的设计符合苹果的交互规范,用起来顺手,而且同样开源可审计。
对于注重隐私的果粉来说,这比某些闭源的身份验证器更让人安心。
3. TOTP CLI(命令行工具)
如果你喜欢折腾终端,或者想在服务器环境里批量处理令牌,TOTP CLI 是个不错的选择。它是用 Go 写的命令行工具,能快速生成 TOTP 码,适合自动化脚本中调用。
安装方式简单:
go install github.com/mratuzanu/totp-cli@latest
添加一个密钥并生成当前验证码:
totp-cli add myaccount@gmail.com --secret JBSWY3DPEHPK3PXP
totp-cli code myaccount@gmail.com
输出的就是标准的 6 位数字,和手机上看到的一样。
4. WinAuth(Windows 桌面端)
有些用户不想把 2FA 密钥放在手机上,担心换手机麻烦。WinAuth 是 Windows 平台上的开源桌面版令牌生成器,支持 Steam、Google、Amazon 等多种服务,还能管理加密货币钱包的认证。
它运行在本地,不依赖网络,也不上传任何数据。虽然界面看起来有点老,但稳定可靠,适合长期在电脑前工作的用户。
如何安全地导入密钥
很多平台在开启 2FA 时会提供二维码和对应的密钥字符串。建议优先选择“手动输入”方式添加账户,而不是拍照扫码,避免截图泄露密钥。复制密钥到剪贴板后尽快清空,防止被其他应用读取。
比如在 andOTP 中,点击“+”按钮,选择“手动输入”,填写账户名、密钥、算法(通常为 SHA-1)、周期(30 秒)、位数(6 位),就能生成正确的动态码。
自建备份方案更安心
所有这些工具都建议你做本地备份。比如 andOTP 支持导出加密的数据库文件,可以存到 U 盘或离线硬盘。别把备份传到网盘,否则等于把钥匙挂在门口。
如果某天手机丢了,有备份就能快速恢复所有令牌,不至于被锁在账户外面干着急。