Authenticator 应用兼容性
这个生成器适用于 Google Authenticator、Microsoft Authenticator、1Password、Bitwarden、2FAS、FreeOTP 以及很多 2FA/MFA 登录流程使用的标准 TOTP 设置密钥。只要服务提供手动设置密钥、Base32 secret 或 otpauth URI,就可以用来生成验证码。
粘贴设置 secret,生成基于时间的一次性密码
本页面解释并生成基于时间的一次性密码,也就是 Authenticator 应用常用于 2FA 和 MFA 的 TOTP 验证码。粘贴已有设置 secret 即可计算当前验证码。
这个生成器适用于 Google Authenticator、Microsoft Authenticator、1Password、Bitwarden、2FAS、FreeOTP 以及很多 2FA/MFA 登录流程使用的标准 TOTP 设置密钥。只要服务提供手动设置密钥、Base32 secret 或 otpauth URI,就可以用来生成验证码。
大多数账号使用 SHA-1、6 位验证码和 30 秒周期。如果验证码不被接受,优先检查复制的密钥、设备时间,以及服务是否要求 8 位验证码、SHA-256、SHA-512 或其他周期。
如果服务只显示 Authenticator 二维码,可以保存或截图二维码图片,再点击识别二维码图片。支持的浏览器会用内置 BarcodeDetector API 在本地读取 otpauth URI;不支持时仍可使用手动设置密钥或粘贴 otpauth 文本。
基于时间的一次性密码只在短时间窗口内有效。生成器会把共享设置 secret 和当前 Unix 时间结合,生成当前验证码。
大多数 Authenticator 设置使用 SHA-1、6 位和 30 秒周期。有些服务会在 otpauth URI 中指定 SHA-256、SHA-512、8 位或自定义周期。
短信 OTP、邮箱 OTP、HOTP 计数器 token、推送批准和恢复码是不同方式。本页面用于 TOTP 设置 secret。
用这个矩阵快速确认本地 TOTP/2FA 生成器支持哪些输入,以及复制验证码前应该检查哪些设置。
| 需求 | 输入或设置 | 需要检查 | 结果 |
|---|---|---|---|
| 手动 2FA 设置密钥 | 可带空格、横线或 padding 的 Base32 secret | 从账号安全页面复制完整密钥 | 输入框按原样显示粘贴内容,计算时在本地规范化 |
| otpauth 设置链接 | 来自 Authenticator 二维码或设置页的 otpauth://totp/ URI | URI 包含 secret 参数,以及可选 issuer、digits、period、algorithm | 工具读取支持的 TOTP 参数并更新生成器选项 |
| Authenticator 二维码图片 | 二维码截图或保存的图片 | 浏览器支持本地 BarcodeDetector API | 二维码在浏览器内读取,不需要上传 |
| 多个账号 | 每个 secret 使用一个独立生成器 | 只有需要另一个账号或 MFA token 时才新增生成器 | 每个生成器都有自己的名称、密钥、倒计时和复制按钮 |
| 高级 TOTP 设置 | SHA-1、SHA-256、SHA-512;6 或 8 位;10 到 120 秒周期 | 如果不是常见 6 位 30 秒默认值,就按服务设置页匹配 | 验证码与 RFC 6238 兼容的 Authenticator 应用一致 |
| URL secret 快捷方式 | #secret= fragment、路径 secret 或 ?secret= 查询 | 优先使用 fragment,因为 # 后面的 secret 不随 HTTP 请求发送 | 路径和查询参数 secret 页面会以 noindex/no-store 返回 |
支持 Base32 设置密钥、带空格/横线/padding 的格式化密钥、完整 otpauth://totp/ 设置链接,以及浏览器支持时本地识别 Authenticator 二维码图片。
支持 Google Authenticator 兼容 TOTP、Microsoft Authenticator 兼容 TOTP、1Password、Bitwarden、2FAS、FreeOTP、Authy 风格设置密钥以及类似 MFA 应用。
支持 SHA-1、SHA-256、SHA-512 算法,6 位或 8 位验证码,10 到 120 秒周期,以及常见的 30 秒 Authenticator 倒计时。
推荐使用 #secret=,因为 URL fragment 不会随 HTTP 请求发送。路径和 ?secret= 查询参数也可用,并会标记 noindex。
本页面用于通过当前时间生成验证码的 TOTP secret。它不生成 HOTP 计数器 token、短信 OTP、邮箱 OTP 或恢复码。
输入账号服务商提供的 Base32 secret 或 otpauth URI。两端生成同一个基于时间的密码必须使用共享 secret。
匹配算法、验证码位数和时间周期。SHA-1、6 位和 30 秒很常见,但有些服务会指定不同值。
在当前时间窗口内提交生成的验证码。如果失败,请检查时间同步,以及复制的 secret 是否完整。
TOTP 是基于时间的一次性密码。Authenticator 应用和网站服务共享同一个 Base32 密钥,再根据当前时间生成通常每 30 秒变化一次的验证码。
验证码计算在浏览器中通过 Web Crypto 完成,不需要登录账号,也不需要把密钥提交到后端接口生成验证码。使用 URL 快捷填入时,建议优先使用 #secret= fragment 形式。
默认页面只有一个生成器。点击新增生成器后,可以给每个生成器填写名称,再分别粘贴不同账号的 2FA 或 MFA secret。
可以。推荐格式是 https://2fa.chatgpt.org.uk/#secret=YOUR_BASE32_SECRET,也支持 /YOUR_BASE32_SECRET 和 ?secret=YOUR_BASE32_SECRET。
生成器支持 SHA-1、SHA-256、SHA-512,支持 6 位或 8 位验证码,并支持 10 到 120 秒周期。otpauth 链接里的 algorithm、digits、period 参数会自动读取。
不会。它是把已有的 Authenticator 设置密钥转换为当前 TOTP 验证码。2FA secret 是由你开启双重验证的网站或应用生成的。
应该。重要设置密钥建议保存在可信的 Authenticator 应用或密码管理器里。如果没有设置密钥或恢复码,本工具无法帮你恢复账号访问。
常见原因是 Base32 密钥复制错误、设备时间不准,或者 TOTP 参数不一致。请确认提供 2FA 设置密钥的网站要求的算法、位数和周期。
支持的浏览器可以。选择二维码截图或图片后,页面会在浏览器本地读取 otpauth URI,不会把图片上传到服务器。
是。TOTP 是 time-based one-time password,会使用当前时间和共享 secret 生成当前验证码。
不可以。必须有共享设置 secret。没有 secret,生成器无法计算服务端期望的同一个验证码。
推荐使用 fragment 形式,因为 # 后面的内容不会随 HTTP 请求发送给服务器。path 和 query 形式也支持,但页面会自动加 noindex,避免带密钥的 URL 被搜索引擎收录。
https://2fa.chatgpt.org.uk/#secret=YOUR_BASE32_SECREThttps://2fa.chatgpt.org.uk/#YOUR_BASE32_SECREThttps://2fa.chatgpt.org.uk/YOUR_BASE32_SECREThttps://2fa.chatgpt.org.uk/?secret=YOUR_BASE32_SECRET不要把真实 2FA secret 分享给别人;如果只是临时使用,优先选择 #secret= 这种 fragment URL。
最后更新:2026-09-12。TOTP 生成逻辑遵循 RFC 6238,并兼容 otpauth 设置链接。