🔐

OTP / TOTP 生成器

根据 base32 密钥生成 TOTP 验证码(RFC 6238)。支持 一次性密码、双因素认证 等场景,完全在浏览器本地运行,数据不上传服务器,免费开源。oltool.net 免费在线工具。

30s 剩余
当前 OTP
30------

关于 OTP / TOTP 生成器

本工具是浏览器端的「OTP / TOTP 生成器」,所有密码学计算依赖 Web Crypto API 或纯 JS 实现,**敏感数据不会上传**。根据 base32 密钥生成 TOTP 验证码(RFC 6238)。支持 一次性密码、双因素认证 等场景,完全在浏览器本地运行,数据不上传服务器,免费开源。 适合开发调试、安全审计、学习理解算法原理。

使用场景

  • 开发调试 — 快速验证后端的密码学输出是否正确,不必启动完整环境。
  • 安全审计 — 校验密钥、签名、哈希是否符合预期,排查逻辑漏洞。
  • 教学示范 — 展示算法的输入输出对应关系,配合课程或代码 review。
  • 应急排错 — 生产事故中需要手动核对一段加密数据时的离线工具。

常见问题

TOTP 和 HOTP 有什么区别?

TOTP 基于时间窗口(默认 30 秒一变),HOTP 基于事件计数器。Google Authenticator 用 TOTP,硬件 token 多为 HOTP。

为什么我生成的码和 Google Authenticator 不一样?

常见原因:(1) 设备时间不同步(TOTP 强依赖时间);(2) 算法不同(SHA1/256/512);(3) 位数不同(6 vs 8);(4) 密钥编码错(base32 vs hex)。

密钥/输入会被记录吗?

不会。所有密码学计算在浏览器本地完成,不发起任何网络请求,密钥和明文都不会离开你的设备。

适合在生产环境使用吗?

本工具适合调试、学习、临时验证。生产环境的密钥管理请使用专业的 KMS(如 AWS KMS、Vault),不要把生产密钥粘贴到任何在线工具。

为什么和其他实现的输出不一样?

常见差异:(1) 编码方式(hex vs base64);(2) padding 方式;(3) IV 是否包含;(4) 字符集(UTF-8 vs ASCII)。请对照对方的具体实现细节。