TOTP 二维码生成器
生成 SHA1 otpauth URI、二维码与当前测试码
Secret 相当于二次验证密码。请只在可信设备上使用,不要把二维码发给他人。
工具说明
创建 otpauth://totp 配置 URI、PNG 二维码和当前 HMAC-SHA1 测试码。可输入 Base32 Secret,或通过 Web Crypto 生成 20 个随机字节(160 位),再选择 6/8 位和 30/60 秒周期。账户标签必填,发行方默认为 TOTP,两者均不能包含冒号。工具不创建或绑定服务端账户。Secret 不上传也不保存草稿,但生成的 URI 与二维码包含完整 Secret。
生产可用片段
检查公开的配置 URI 样例
text
发行方:ToolsKit Demo
账户:[email protected]
Secret: JBSWY3DPEHPK3PXP(仅供公开演示)
位数:6;周期:30
otpauth://totp/ToolsKit%20Demo%3Ademo%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=ToolsKit+Demo&algorithm=SHA1&digits=6&period=30
扫码会将 Secret 存入认证器,不会在服务端完成账户绑定。常见问题
二维码具体包含什么?
包含完整 otpauth://totp URI,其中有 Base32 Secret、发行方/账户标签、SHA1 算法、位数和周期。URI 可以复制,二维码可下载为 PNG;获得其中任意一个的人都能根据该 Secret 计算验证码。
扫描二维码后,服务就启用 2FA 了吗?
没有。扫码只是将种子加入兼容认证器,服务端仍须自行把相同 Secret 关联到账号并验证开通过程。此工具不调用服务 API,不创建账户、不发恢复码,也不执行登录策略。
随机 Secret 是如何生成的?
使用 Web Crypto 生成 20 个随机字节,编码为 32 个无填充 Base32 字符,共 160 位随机数据。示例按钮使用公开共享 Secret,只用于演示,不能用于真实账户。
Secret 和标签有哪些输入要求?
Secret 必须是能形成完整字节的 Base32,可用小写、空白和正确的末尾填充;错误长度和非零尾部填充位会被拒绝。账户必填,发行方为空时使用 TOTP。两者都不能包含冒号,因为 URI 标签用冒号分隔发行方与账户。
所有认证器都支持 8 位或 60 秒吗?
不一定。本工具输出 SHA1,支持 6/8 位与 30/60 秒,但认证器可能忽略 URI 可选参数或限制支持。请在同步时钟下,用实际应用对照当前测试码;本地测试码只是诊断信息,不是服务端鉴权。
清空页面后还会保留配置 Secret 吗?
工具不创建 localStorage 草稿;编辑或清空会使待完成的二维码和验证码生成失效,页面卸载时停止计时器。已经复制的 URI、下载的 PNG 或导入认证器的配置仍在各自保存位置,需要另行处理。
继续浏览