首页 > 工具箱 > TOTP 两步验证码

TOTP 两步验证码

按 RFC 6238 算动态口令,和 Google Authenticator / 1Password 出来的码一致。密钥只在你浏览器里参与计算,不会发到服务器,但请不要在公用电脑上粘贴正在使用的密钥。

------
把别处的 otpauth 链接粘进去点这里,就能拆出密钥与参数

说明

TOTP = HOTP(密钥, 当前时间 ÷ 周期),所以只要密钥和手机时间对得上,任何实现算出来的码都一样;码对不上多半是设备时间不准,不是密钥错了。
校验默认接受前后各一个周期(±30 秒)的码,这也是绝大多数服务端的做法,用来容忍时间漂移。
Base32 密钥只含 A–Z 与 2–7,空格和短横线会被忽略,可以直接粘贴网站给的那串分组密钥。
otpauth 链接是 Authenticator 扫的二维码里的内容;要生成二维码请自行复制链接到 二维码生成(那一步会把密钥发到服务器渲染图片,敏感账号建议别这么做)。
只是想算 HMAC 的话用 HMAC 生成,要生成随机密码用 密码生成