跳到主要内容
← 返回

TOTP 验证码生成器 - 在线二次验证

安全
本地运行 · 不上传

免费在线 TOTP 验证码生成器,支持 SHA-1/256/512、otpauth URI 导入导出与倒计时,密钥仅存浏览器本地

结果有帮助吗?

本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。

使用指南

TOTP(基于时间的一次性密码)就是两步验证时输入的动态数字:由「密钥 + 当前时间」算出,默认每 30 秒轮换。本工具在浏览器本地生成验证码,支持 SHA-1/SHA-256/SHA-512、6/8 位、30/60 秒步长、otpauth URI 导入导出,以及剩余秒数紧迫度倒计时——密钥与计算都不离开浏览器。

1. 生成一个验证码

  1. 添加条目:粘贴服务方给出的 Base32 密钥,或直接粘贴 otpauth://totp/... URI(会自动填入算法、位数与周期)。
  2. 按需选择算法(SHA-1 最常见;部分服务用 SHA-256/SHA-512)、位数(6/8)与时间步长(30/60 秒)。
  3. 工具按所选周期实时显示验证码与剩余秒数;≤5 秒变黄、≤3 秒变红并闪烁——过期码是「提示错误」的第一大原因。

2. otpauth URI:导入与迁移

  • 标准 Key URI 形如 otpauth://totp/Issuer:account?secret=BASE32&algorithm=SHA1&digits=6&period=30。
  • 粘贴到密钥框即可导入;每条条目旁的链接图标可复制回 URI,便于迁到手机 Authenticator。
  • 本工具目前接受 digits=6/8、period=30/60;其他取值会提示不支持,避免 silently 算错码。

3. 密钥就是一切:保管与迁移

  • Base32 密钥等于「永久的密码源」:拿到它就能随时生成你的验证码。不要截图发群里,不要存在明文笔记里。
  • 换手机时优先用各服务的官方迁移流程(如扫码迁移),或用同一密钥 / otpauth URI 重建条目。
  • 本工具的条目保存在浏览器本地存储,清浏览器数据会丢失条目——密钥请另有一份安全备份(密码管理器)。

4. 验证码总不对?按顺序查

先看倒计时是否还剩 5 秒以上——不足时生成的码到服务端已过期。再确认密钥粘贴无多余空格(Base32 无校验位,错一个字母结果全错),以及算法/位数/周期是否与服务方一致。最后核对时间:RFC 6238 建议验证方接受 ±1 个时间步的偏差——本机偏差接近或超过一分钟才会必然对不上,届时校准系统时间即可。

5. 时间窗口与验证策略

TOTP 把 HMAC 与时间片绑定,验证端常接受当前窗口 ±1 以容忍时钟漂移——但多窗口接受同时意味着被用过的码在更长时间内仍有效。更严格的实现会记录「最后一个成功验证的时间片」,拒绝同片重放。本工具在浏览器本地实现 RFC 6238(含 SHA-512),密钥与计算都不出浏览器——任何把密钥发到服务器的在线工具都不该用。

6. 落地 TOTP 的运维常识

  • 启用两步验证时先展示恢复码并强制用户确认保存——丢了手机又没恢复码等于锁死账号。
  • 服务器时间必须 NTP 同步:验证端与用户端差超过一个窗口,所有人瞬间无法登录,这是 TOTP 事故的第一大来源。
  • 密钥的 Base32 编码常带填充符与空格(分组显示),解析时要归一化——本工具已处理,自研集成时这里是高频 bug。

7. 与 Base32 工具、密码管理器的配合

Authenticator 给出的密钥是 RFC 4648 Base32。若你需要核对字母表、补 padding 或排除 Crockford 变体误用,可先在 Base32/Base58 工具里解码再回来——字母表选错会算出「看起来正常但永远对不上」的码。长期存放密钥应进密码管理器的 OTP 字段,而不是截图相册;本页条目存在浏览器本地存储,适合临时调试与迁移核对,不是云端同步保险箱。

常见问题

计算与条目存储都只在本机浏览器内完成:RFC 6238 运算在页面里跑,条目存在 localStorage,不与任何服务器通信——任何要把密钥发到服务器的在线工具都不该用。

支持 SHA-1、SHA-256、SHA-512 算法,6 位或 8 位验证码,30 秒或 60 秒时间步长;倒计时在剩余 ≤5 秒时变黄、≤3 秒时变红并闪烁,提醒尽快提交——过期码是验证失败的第一大原因。

在「添加密钥」表单粘贴完整的 otpauth://totp/... 链接(常见于二维码解码结果或服务方文档),工具会解析 secret、algorithm、digits、period 与 issuer/label 并填入表单;每条条目旁的链接图标可复制回 URI,便于迁到手机 Authenticator。目前仅接受 digits=6/8、period=30/60,其他取值会明确提示不支持。

先看倒计时是否还剩 5 秒以上——不足时生成的码到服务端已过期;再检查密钥是否混入多余空格(Base32 没有校验位,错一个字母结果全错),以及算法、位数、周期是否与服务方一致;最后核对系统时间——本机偏差接近或超过一分钟才会必然对不上,届时校准时间即可。

密钥等于「永久的验证码来源」,拿到它就能随时生成你的验证码——不要截图发群,也不要存明文笔记。本页条目保存在浏览器本地存储,清浏览器数据会丢失,请把密钥另存一份到密码管理器。换手机优先用服务方官方迁移流程;启用两步验证时先保存好恢复码,否则丢机等于锁死账号。

它遵循与各家 Authenticator 相同的 RFC 6238 标准,适合做浏览器端生成、临时调试与迁移核对;条目不做云端同步,重要账号建议保留移动端 Authenticator 作为备份。

相关工具

相关文章