DevToys Web Pro iconDevToys Web Pro博客
为我们评分:
试用浏览器扩展:

OTP 生成器(TOTP/HOTP)

配置

  • 模式

    在基于时间(TOTP)或基于计数器(HOTP)之间选择

  • 算法

    用于生成 OTP 的哈希算法

  • 位数

    OTP 代码的位数

  • 周期

    TOTP 代码有效的时间间隔

密钥

  • 生成的代码

  • ------

    二维码设置

    验证代码

    检查代码是否对当前密钥有效

    OTP 认证 URI

  • 使用此 URI 或扫描二维码,将此账户添加到身份验证器应用

    技术详情

    OTP 生成器的工作原理

    工具功能

    此 OTP 生成器可创建与 Google Authenticator、Authy 及其他 2FA 应用兼容的基于时间的一次性密码(TOTP)和基于 HMAC 的一次性密码(HOTP)。输入或生成 Base32 密钥后,该工具会生成 6-8 位验证码:TOTP 每 30 或 60 秒变化一次,HOTP 则随计数器递增而变化。所有计算都在你的浏览器中通过 Web Crypto API 本地完成,因此你的密钥不会离开设备。

    常见开发者使用场景

    开发者使用在线 TOTP 生成器来测试双因素认证实现、验证其 OTP 库是否生成正确的验证码,并调试认证流程。在构建 2FA 系统时,你可以使用此工具生成测试密钥、验证服务端 TOTP 实现,并确保时间同步正确。它也能帮助 QA 团队在无需在设备上安装认证器应用的情况下验证 2FA 工作流。

    数据格式与标准

    该 OTP 工具实现了 RFC 6238(TOTP)与 RFC 4226(HOTP)标准。密钥使用 Base32 编码,这是认证器应用的标准格式。工具支持 SHA-1(默认、兼容性最好)、SHA-256 和 SHA-512 哈希算法。输出验证码可为 6、7 或 8 位,其中 6 位最常见。OTP Auth URI 格式(otpauth://totp/...)与 Google Authenticator 及类似应用兼容。

    常见陷阱与边界情况

    TOTP 验证码对时间极其敏感。如果服务器与客户端时钟不同步超过 30 秒,认证将失败。大多数实现允许 1-2 个时间步的窗口以处理轻微漂移。SHA-1 是支持最广泛的算法;一些较旧的认证器应用可能不支持 SHA-256 或 SHA-512。请确保你的密钥已正确进行 Base32 编码——无效字符会导致解码错误。

    何时使用此工具而非代码

    在开发期间,使用此 OTP 生成器进行测试、调试并验证你的 2FA 实现。对于生产系统,请使用成熟的库在服务器端生成与验证 OTP 验证码,例如 pyotp(Python)、speakeasy(Node.js)或 GoogleAuthenticator(多种语言)。切勿在客户端代码中暴露密钥。该工具非常适合开发工作流,但你的应用应在服务端处理 OTP 验证。