两步验证二维码生成器(otpauth:// TOTP)
生成验证器应用用的二维码:随机 160 位密钥或你自己的密钥,设置签发方、账户、算法、位数和周期,得到 otpauth:// URI、PNG 和当前验证码。
Google Authenticator、Microsoft Authenticator、Authy 和 1Password 等验证器应用,是通过扫描一个含有 otpauth:// 链接(内含共享密钥)的二维码来设置的。这个工具会生成这个密钥(推荐大小的 160 位随机数)或使用你的密钥,按 Key URI 格式带上签发方和账户名构建链接,把二维码绘制成 PNG,检查它能否被正确扫回,并显示应用此刻应当显示的验证码。
使用方法
- 输入签发方(你的服务)和用户的账户名。
- 需要新密钥就留空,或粘贴已有的 Base32 密钥。
- 除非所有用户的应用都支持其他设置,否则保持 SHA-1、6 位和 30 秒。
- 下载或扫描二维码,然后把应用里的验证码与“当前验证码”对照。
计算公式
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 参数;旧应用读取前缀,新应用读取参数。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/qr-code-for-2fa-tool/
引用此工具
kakaoCalc. (2026, November 8). 两步验证二维码生成器(otpauth:// TOTP). https://kakao.mobile/zh/tools/qr-code-for-2fa-tool/
“两步验证二维码生成器(otpauth:// TOTP).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/qr-code-for-2fa-tool/.