LOCAL-ONLY · 无上传 · 无数据库

在线2FA验证码生成器

输入 Base32 Secret 或 otpauth:// 链接,在当前浏览器中生成TOTP动态验证码。 密钥不会通过网络发送,也不会写入Cookie、LocalStorage或数据库。

浏览器本地计算 不接入第三方脚本 支持6位与8位验证码

TOTP GENERATOR

生成动态验证码

仅本地处理

支持Base32密钥,也可直接粘贴完整的 otpauth://totp/... 链接。

本页不发起网络请求

正式部署时,Nginx的CSP会设置 connect-src 'none',阻止页面脚本连接外部接口。

查看安全设计 →

HOW IT WORKS

TOTP验证码如何生成?

TOTP把共享密钥与当前时间片组合,通过HMAC计算一次性验证码。常见配置为SHA-1、6位数字、30秒刷新一次。 本工具按照RFC 6238的计算流程在浏览器内完成运算。

  1. 1
    输入密钥

    粘贴Base32 Secret或otpauth链接。

  2. 2
    本地计算

    浏览器通过Web Crypto API执行HMAC运算。

  3. 3
    复制验证码

    验证码到期后会自动更新。

FAQ

常见问题

为什么生成的验证码不正确?

请检查Secret是否完整、设备时间是否自动同步,以及算法、位数和刷新周期是否与服务端配置一致。

输入的Secret会上传吗?

不会。本源码没有后端接口、统计代码或第三方脚本,计算全部在当前浏览器标签页完成。

关闭页面后会保存Secret吗?

源码不会主动写入Cookie、LocalStorage或SessionStorage。浏览器自身可能在返回上一页时短暂恢复表单,因此公共设备使用后应点击“清空内容”并关闭标签页。

可以代替身份验证器长期使用吗?

更建议使用可信的身份验证器或密码管理器长期保存密钥。本工具适合临时验证、调试和应急使用。

SHA-256、SHA-512、8位和60秒配置都兼容吗?

本工具能够按RFC计算这些参数,但部分身份验证器会忽略otpauth链接中的算法、位数或周期。最终应以账号服务端和所用身份验证器的实际支持为准。

“本地计算”是否等于绝对安全?

不是。用户仍需信任首次加载到浏览器中的HTML和JavaScript。高价值账号建议使用经过审核的离线版本,并核对发布文件哈希。