当前 OTP
------关于 OTP / TOTP 生成器
OTP 是两步验证里那串每隔几十秒就刷新的动态码,最常见的是基于时间的 TOTP(RFC 6238)。本工具在浏览器本地,根据你提供的 Base32 密钥实时生成 TOTP 验证码,并显示剩余有效秒数,支持自定义位数和周期。密钥只在本地参与运算、不上传,适合调试 2FA 接入、核对服务端实现或在没有手机时临时取码。例如输入共享密钥与当前时间,会生成 6 位 TOTP 验证码并显示剩余有效秒数,与 Authenticator 应用一致。接入两步验证时,先用它对照服务端实现确认时间步长与位数是否一致,能快速定位验证码不匹配的根源;请注意共享密钥等同于登录凭证,调试结束后应及时清理,正式环境仍建议配合限次尝试与备用码机制共同使用,降低被暴力尝试的可能。
使用方法
- 打开「OTP / TOTP 生成器」
- 输入待处理的内容并设置参数
- 根据需要调整输出选项
- 点击「生成」按钮,结果实时显示
- 复制或导出结果
使用场景
- 调试 2FA 接入 — 用服务端下发的密钥本地算 TOTP,核对你的验证逻辑是否与标准一致。
- 核对验证器 — 比较本工具与 Google/Microsoft Authenticator 生成的码是否相同,定位时间漂移问题。
- 应急取码 — 临时没有手机时,用已知密钥在浏览器里生成当前验证码登录。
- 自动化测试 — 在开发环境为带 2FA 的账号生成可预测的测试验证码。
- 排查时间偏差 — 观察剩余秒数和服务端拒绝情况,判断是否因时钟不同步导致校验失败。
常见问题
TOTP 和 HOTP 有什么区别?
HOTP(RFC 4226)基于递增计数器,每用一次步进一步;TOTP(RFC 6238)把计数器换成"当前时间除以周期",所以验证码随时间自动刷新,是手机验证器的主流做法。
为什么我的码和服务端对不上?
最常见原因是设备时钟不同步。TOTP 严重依赖准确时间,几十秒的偏差就会算出不同的码。请校准系统时间,多数服务端也会容忍前后一个时间窗。
密钥为什么要用 Base32?
2FA 密钥常以 Base32 表示,因为它只用大写字母和数字、无易混字符,便于以二维码或文本分享。运算前工具会先把 Base32 解码回原始字节再做 HMAC。
默认是几位、多少秒刷新?
行业默认是 6 位数字、30 秒周期、底层用 HMAC-SHA1,这也是绝大多数验证器和服务的标准配置。部分系统会用 8 位或 SHA256,本工具可自定义匹配。
在浏览器里生成验证码安全吗?
运算本身在本地完成、密钥不上传,但把 2FA 密钥放进浏览器会削弱"第二因素"的隔离性。建议仅用于调试,长期使用仍以独立的验证器 App 或硬件密钥为宜。
广告