现在很多网站和应用都开了双重验证(2FA):登录时除了输密码,还要再输一个 6 位数字,这个数字每 30 秒变一次,就是动态口令。它一般由手机上的验证器 App 生成(比如 Google Authenticator、微软验证器),靠的是一个密钥。但有时候手机不在身边、验证器丢了、或者开发时要测这个功能,就需要一个能在电脑上算验证码的工具。这个小工具就是干这个的。
主要功能
输入密钥,生成验证码
上面一格填 Base32 密钥(一串大写字母和数字,比如 JBSWY3DPEHPK3PXP),点"立即生成",下面就会显示当前的 6 位验证码。密钥一般在你开启双重验证时,网站会给你一串,或者给个二维码,扫出来的就是这串密钥。
实时自动更新
密钥填好之后,验证码每 30 秒自动重新算一次,不用手动刷新。当前显示的码过期了,新的码马上出来。
进度条和剩余时间
验证码下面有条进度条,从左往右走,走满 30 秒就重新开始。旁边还显示"剩余时间: XX 秒",一眼就知道当前这个码还能用多久。快过期的时候(剩 5 秒以内),进度条会变成橙红色,提醒你快换了。
一键复制
点"复制验证码",当前的 6 位码就复制到剪贴板,直接粘到登录框里就行。不用手抄,避免看错。
密钥格式校验
密钥填错了(比如有非法字符),会提示"密钥格式错误",不会让你对着一个算不出来的码发愣。
状态提示
下面的状态行会显示当前在干什么:没填密钥时显示"等待密钥输入",正常工作时显示"实时更新中"(绿色),出错时显示"密钥格式错误"(红色)。
适合谁用
开了双重验证、手机不在身边临时要登录的人,用这个在电脑上算一下就能过;验证器 App 丢了、要临时找回访问权的人,用密钥也能算出码;做开发、测试的人,要验证自己实现的 2FA 逻辑对不对,用这个算一个码来比对;学 TOTP 原理的人,改改密钥看码怎么变,也能直观理解它的机制。
用起来什么感觉
界面很简洁:上面填密钥、点按钮,下面一个大大的验证码,等宽字体,字母间距拉得开,好读好认。进度条和剩余时间在旁边辅助,不慌。整个计算在浏览器本地完成,密钥不会上传到任何服务器,安全。手机上密钥输入和按钮会变成上下排列,验证码字号自动调小,还是看得清。按钮大、字清楚。不需要安装,打开网页就能使,用完关掉就行。