验证码

加密

在线获取双重验证(2FA / TOTP)动态验证码,输入 Base32 密钥或粘贴 otpauth 链接即可生成,支持生成核对二维码,全部在浏览器本地计算。

2FA 工具说明

  • 演示密钥:
    7J64V3P3E77J3LKNUGSZ5QANTLRLTKVL
    (点击可填入)
  • 在网站的账号安全设置中开启两步验证后,通常会提供一个 Base32 密钥(一串大写字母与数字 2-7 的组合)。把它粘贴到上方输入框,即可实时生成当前有效的 6 位验证码,每 30 秒自动刷新一次。
  • 支持直接粘贴 otpauth:// 链接(验证器 App 扫码用的链接),会自动解析其中的密钥、账户名、算法、位数与周期,并把这三项参数显示在下拉框里。
  • 只粘贴 Base32 密钥时,工具无法知道该密钥用的是哪种算法、几位码、多少秒周期,只能按默认值(SHA-1 / 6 位 / 30 秒)计算。如果和验证器 App 或其他网页工具的结果不一致,优先怀疑这里:改用 otpauth:// 链接粘贴,或手动调整上方参数再比对。
  • 必须在倒计时结束前输入验证码登录或验证,否则验证码会失效。若提示已过期,稍等一秒会自动生成新码。
  • 也可以把密钥加在网址后面直接访问,示例:/tools/2fa?key=你的密钥,打开后会自动生成验证码,适合分享给新手使用。
  • 验证码强依赖精确时间:counter 直接由 UTC 时间推导,时钟偏差只要超过半个周期(默认 15 秒)就会稳定取到错位的码,表现就是「和别的工具结果不一致,而且怎么调参数都对不上」。工具默认按本机时间计算——系统时钟由 NTP 维护,精度在毫秒级;怀疑时钟不准可先执行
    w32tm /stripchart /computer:cn.pool.ntp.org /samples:5 /dataonly
    核对真实偏差。
  • 「时间源」三选一,默认本机时间。切到「第三方时间源」会向 timeapi.io / time.cloudflare.com / worldtimeapi.org 并发查询当前时间并取中位数(只查时间,请求里不含密钥),适用于系统时钟失步又暂时改不了机器时间的场景;「本站 Date 头」仅用于对比排查——HTTP 响应头只有 1 秒粒度,还可能被 CDN、WAF 或本地代理改写,不适合当时间基准。
  • 验证码在浏览器本地计算(Web Crypto HMAC-SHA1/256/512),密钥不会上传到服务器;最近使用的密钥仅保存在本机浏览器中。
  • 计算遵循 RFC 6238 / RFC 4648,已通过 RFC 6238 官方测试向量(SHA-1 / SHA-256 / SHA-512)与独立实现的随机对拍验证。