ZH
我的工具

两步验证二维码生成器(otpauth:// TOTP)

生成验证器应用用的二维码:随机 160 位密钥或你自己的密钥,设置签发方、账户、算法、位数和周期,得到 otpauth:// URI、PNG 和当前验证码。

留空会创建新密钥,粘贴已有密钥则重新生成它的二维码。它不会被加入分享链接。
我的工具 →
广告

Google Authenticator、Microsoft Authenticator、Authy 和 1Password 等验证器应用,是通过扫描一个含有 otpauth:// 链接(内含共享密钥)的二维码来设置的。这个工具会生成这个密钥(推荐大小的 160 位随机数)或使用你的密钥,按 Key URI 格式带上签发方和账户名构建链接,把二维码绘制成 PNG,检查它能否被正确扫回,并显示应用此刻应当显示的验证码。

使用方法

  1. 输入签发方(你的服务)和用户的账户名。
  2. 需要新密钥就留空,或粘贴已有的 Base32 密钥。
  3. 除非所有用户的应用都支持其他设置,否则保持 SHA-1、6 位和 30 秒。
  4. 下载或扫描二维码,然后把应用里的验证码与“当前验证码”对照。

计算公式

otpauth://totp/Issuer:account?secret=BASE32&issuer=Issuer[&algorithm=SHA256][&digits=8][&period=60]

标签和签发方会做百分号编码,密钥是不带填充的 Base32,取默认值的设置会被省略。当前验证码是 TOTP(RFC 6238):对 floor(时间 ÷ 周期) 做 HMAC,再截断为所选位数。

示例

签发方 Example、账户 alice@example.com、密钥 JBSWY3DPEHPK3PXP 时,链接为 otpauth://totp/Example:alice%40example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example,与 Python 库 pyotp 生成的字符串相同。

常见问题

密钥会被发送到别处吗?

不会。密钥、二维码图片和验证码都在你的浏览器中生成。但仍应把两步验证密钥当作密码对待,只用于测试、演示或你自己的账户。

为什么应用显示的验证码不一样?

请检查手机时钟是否设为自动,以及应用是否支持链接中的算法、位数和周期——有些应用会忽略 SHA-1、6 位、30 秒以外的任何设置。

为什么签发方要写两次?

Key URI 格式建议同时使用标签中的前缀和 issuer 参数;旧应用读取前缀,新应用读取参数。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 两步验证二维码生成器(otpauth:// TOTP). https://kakao.mobile/zh/tools/qr-code-for-2fa-tool/

MLA

“两步验证二维码生成器(otpauth:// TOTP).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/qr-code-for-2fa-tool/.

广告