BaseToolbox LogoBaseToolbox
Blog

© 2025 基础工具箱。保留所有权利。

隐私政策关于联系我们

如何用 Base32 Secret 生成 TOTP 验证码

发布于 2026年6月30日

网站开启两步验证时,如果给你一个“手动输入密钥”或 setup key,它通常就是 Base32 secret。只要密钥和设置正确,就可以用它生成 TOTP,也就是按时间变化的一次性验证码。

先给结论:用 Base32 secret 生成 TOTP 时,要把 setup key 准确粘贴到可信的本地 TOTP 生成器里,确认周期通常是 30 秒,位数通常是 6 位,并检查设备时间是否自动同步。

BaseToolbox 的 2FA 验证码生成器 支持 Base32 密钥、otpauth:// URL 和二维码图片。它适合在浏览器本地计算 TOTP,不需要为了生成验证码把密钥上传到服务器。

Base32 Secret 是什么?

Base32 secret 是网站和验证器 App 共同保存的共享密钥。它经常长得像一串大写字母和数字,例如:

JBSWY3DPEHPK3PXP

它不是 6 位验证码本身,而是可以持续生成未来验证码的长期密钥。任何拿到这个密钥的人,都可能算出对应账号的有效 TOTP 码,所以它要像密码一样保密。

TOTP 算法定义在 RFC 6238 中。常见验证器二维码会把同一个密钥放进 Google Authenticator 使用的 Key URI Format。

怎么用 Base32 Secret 生成 TOTP?

当你已经掌握 setup key 时,可以按这个流程做:

  1. 准确复制 Base32 setup key。
  2. 在可信设备上打开本地 TOTP 生成器。
  3. 粘贴密钥。
  4. 如果服务没有特别说明,周期保持 30 秒。
  5. 如果服务没有特别说明,验证码保持 6 位。
  6. 如果 setup URL 没写 SHA-256 或 SHA-512,通常使用 SHA-1。
  7. 确认设备时间自动同步。
  8. 在倒计时结束前输入当前验证码。

如果工具支持 otpauth:// URL,也可以直接粘贴完整 URL。它可以同时包含密钥、服务名、账号标签、周期、位数和算法,比只复制密钥更不容易漏设置。

为什么密钥正确,验证码还是不对?

TOTP 出错通常不是算法“随机”,而是密钥周围的设置不一致。

问题 检查什么
验证码立刻被拒绝 设备时间可能不准,或服务端时间窗口不同。
位数不对 账号可能要求 8 位,而不是 6 位。
密钥提示无效 复制时可能混入空格、短横线、标签或非法字符。
扫二维码可以,手输密钥不行 二维码里可能包含周期、位数或算法等额外设置。
一个 App 可以,另一个不行 算法、周期或位数可能不一致。

排错时不要马上重置 2FA。先看 setup URL、设备时间、验证码位数和复制的密钥是否一致。

把 Base32 Secret 粘到在线工具安全吗?

只有在你信任工具,并且确认它在浏览器本地处理密钥时,才适合粘贴真实 2FA secret。Base32 setup key 是敏感凭证,因为它可以生成未来的登录验证码。

个人账号最稳妥的长期存放位置仍然是密码管理器或验证器 App。浏览器 TOTP 生成器更适合测试、临时恢复,或调试内部 2FA 集成。

开发环境请使用测试密钥。不要把真实用户的 otpauth:// URL、setup key 或二维码放进 bug report、日志、聊天记录和截图里。

一句话总结

Base32 secret 可以生成 TOTP 验证码,但必须同时匹配时间窗口、验证码位数和算法。大多数验证器默认是 6 位、30 秒、SHA-1,但完整的 otpauth:// URL 可能覆盖这些默认值。

什么时候适合用浏览器生成?

适合的场景通常有三类:你在调试自己的 2FA 集成;你保存了 setup key,需要在可信电脑上临时生成一次验证码;或者你想检查二维码里读出的密钥、issuer、账号标签是否正确。

不适合的场景也要分清:如果你只是丢了手机,但没有密钥和备用码,生成器帮不了你;如果密钥来自别人,或者来源不清楚,也不应该拿来尝试登录。TOTP 的安全前提是只有账号本人和服务端知道这个共享密钥。

恢复成功后也不要把 setup key 长期散落在桌面、聊天记录或截图里。更好的做法是重新绑定验证器,保存新的备用码,并把恢复材料放进密码管理器或离线安全位置,避免下次再次依赖临时找回。真实账号密钥越少复制,风险越低。

常见问题

Base32 Secret 和备用码是一回事吗?

不是。Base32 secret 是长期 setup key,用来持续生成新的 TOTP 验证码;备用码通常是平台生成的一次性恢复码。

为什么 TOTP 验证码每 30 秒变一次?

TOTP 会把共享密钥和当前时间窗口一起计算。时间窗口变化后,算出的验证码也会变化。

能从 6 位验证码反推出 Base32 Secret 吗?

不能。当前 6 位验证码不能反推出长期密钥。如果密钥、已同步设备和备用码都丢了,只能走平台账号恢复流程。

想直接试试看?

用我们的免费在线工具,把文章里的方法马上用起来。

生成 TOTP 验证码