动态口令生成
TOTP Code Generator
把 TOTP 密钥换成当前的六位验证码并带倒计时,用来验证两步验证配得对不对。
扫描两步验证二维码时,你存下的是一个共享密钥,而在下次登录之前,你没法从 App 里看出它存对了没有。把同一个密钥粘到这里,会显示它此刻应该产生的验证码,这样不一致在你被锁在门外之前就看得见。
密钥只存在这个页面的内存里。不写 localStorage,不放进网址,也不发给任何服务器——HMAC 由你浏览器的 crypto.subtle 算。刷新标签页就没了,这是故意的:这是用来检查配置的工具,不是能把密钥加密存放的验证器 App 的替代品。
怎么用
粘贴 Base32 密钥
就是网站在“无法扫码?”下面显示的那串字符。接受空格和小写;一整条 `otpauth://` URI 也可以整个粘进来,参数会从中读出。
对齐参数
几乎所有服务都用 SHA-1、六位数字、30 秒周期,这也是这里的默认值。少数服务用八位数字或 SHA-256——如果验证码不对而时钟是对的,差别就出在这里。
和 App 对照
两边在同一个时间窗口内应该显示同样的六位数。如果整整差了一个窗口,那是设备时钟不准——TOTP 是当前时间的函数,不是计数器的函数。
常见问题
把正在使用的两步验证密钥粘到这里安全吗?
密钥留在标签页里——验证码用浏览器自带的 HMAC 计算,没有请求。但密钥本身就是整个第二因素,所以不要把它粘进你没有核实过的页面,用完把输入框清空。
这个能代替我的验证器 App 吗?
不能——它什么都不存,你每次登录都得重新粘密钥;而且把两步验证密钥和密码放在同一个地方,就失去了两个因素的意义。
验证码和 App 一致,但还是被拒绝。
那就是两边一起错了,这几乎总是意味着设备时钟偏了。服务器通常接受前后各一个窗口;超出这个范围,就同步时钟再试。
可以从这些接进来
OTP 二维码生成
OTP QR Builder
按发行方、账号和密钥拼出 otpauth:// 地址,并画成验证器 App 能扫的二维码。
验证器导出二维码解析
Authenticator Export Reader
把 Google Authenticator 的迁移二维码解开,还原成一个个账号和它们的密钥。
密码生成器
Password Generator
按长度、字符集和是否排除易混字符的规则生成随机密码,需要的话可以一次生成很多条。
密码短语生成器
Passphrase Generator
从词表里按 diceware 方式拼出一句密码短语,并给出以比特计的熵。
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
HMAC 生成
HMAC Generator
按选定的哈希算法和密钥编码算出消息的 HMAC,用来核对 webhook 签名。
验证器导出二维码解析
Authenticator Export Reader
把 Google Authenticator 的迁移二维码解开,还原成一个个账号和它们的密钥。
OTP 二维码生成
OTP QR Builder
按发行方、账号和密钥拼出 otpauth:// 地址,并画成验证器 App 能扫的二维码。
二维码与条码识别
QR & Barcode Reader
从上传的图片、截图或摄像头里读出二维码和常见条形码。
可疑链接检查
Suspicious URL Check
在你点开之前先看这条链接长什么样——混淆字符、直接写 IP 的主机、@ 障眼法、层层子域、奇怪端口、短链服务——需要时还能追踪跳转并查域名注册时间;没有信誉库。
Base64 编码解码
Base64 Encoder & Decoder
对文本和文件做 Base64 与 Base64URL 编解码,UTF-8 处理正确。