zh

TOTP生成器

从Base32密钥或otpauth URI计算当前的TOTP/2FA验证码(RFC 6238),完全在本地进行:密钥永远不会离开你的设备。

正在你的设备上本地处理 ...

算法
  • SHA-1
  • SHA-256
  • SHA-512
位数
  • 6
  • 7
  • 8
时间窗口(秒)

正在你的设备上本地处理 ...

0%

我的文件会被上传吗?

不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

无需上传100% 本地处理
内容只属于你第三方无法访问
Hosted in GermanyGlobal Content Delivery
经独立审计TLS A+ · 标头 A+

TOTP验证码(基于时间的一次性密码,RFC 6238)是Google Authenticator或Authy等应用在双重验证登录时显示的短数字。它由一个密钥(通常以Base32编码)和当前时间计算得出:服务方和你的应用都知道同一个密钥,并各自独立计算出同一时间窗口(通常为30秒)内相同的验证码,服务器与应用之间完全不需要任何通信,只依靠一个共同的公式。

本工具会在你的浏览器中就地计算这个公式。你可以粘贴完整的otpauth://链接,这种链接通常隐藏在设置新的双重验证账户时出现的二维码里,也可以手动输入密钥,并自行选择算法(SHA-1、SHA-256或SHA-512)、位数(6位、7位或8位)以及时间窗口(默认30秒)。如果粘贴的链接本身已经包含这些值中的某一个,那么以链接中的值为准,和任何验证器应用的真实设置流程一样。

这有什么用:如果你丢失了手机或更换了应用,可以用这里保存的密钥立即确认它是否仍然正确,而不必先安装新应用。在开发自己的双重验证功能时,也可以用它快速计算预期的验证码,并与你自己的服务器进行比对。

密钥就是你双重验证账户的全部安全保障,任何知道它的人都能计算出未来的每一个验证码。正因如此,计算完全在本地通过浏览器原生的Web Crypto接口(经由crypto.subtle实现的HMAC)完成;任何内容都不会被发送、保存或记录,首次加载后即使离线也能继续使用。如果想把新生成的密钥变成二维码,可以使用我们的二维码生成器:只需把otpauth链接粘贴进去即可。

技术规格

技术规格
输入格式文本输入
输出格式TXT
批量处理不支持
处理方式在浏览器中本地处理 (JavaScript)
文件上传

三步完成

  1. 粘贴otpauth链接,或手动选择密钥、算法、位数和时间窗口。
  2. 点击生成。
  3. 读取当前验证码,并输入到需要的地方。

限制: 本工具不通过摄像头扫描二维码(出于隐私考虑刻意未加入此功能),密钥或otpauth链接必须以文本形式输入。它不会在两次访问之间保存任何密钥;关闭页面后一切都会消失。HOTP(基于计数器、与时间无关的方式)刻意不受支持,只支持TOTP。要生成新的二维码,请使用单独的二维码生成器,粘贴此处显示的otpauth链接。

常见问题

密钥会被上传吗?

不会。计算完全在你的浏览器中通过Web Crypto进行;密钥永远不会离开你的设备,不会被保存,也不会被记录。

TOTP和HOTP有什么区别?

TOTP从当前时间推导计数器(默认30秒的时间窗口),HOTP则从一个不断递增的事件计数器推导。如今几乎所有验证器应用都使用TOTP;本工具刻意只支持这一种方式。

我能为自己的密钥生成二维码吗?

可以,间接实现:把otpauth链接(包含密钥、算法、位数和时间窗口)粘贴到我们的二维码生成器中,它会将其转换成任何验证器应用都能扫描的二维码。

支持哪些算法?

SHA-1(几乎所有应用使用的标准)、SHA-256和SHA-512,三者都通过浏览器原生的Web Crypto HMAC功能实现,无需任何额外的库。

为什么再次点击生成后验证码会变化?

TOTP验证码只在一个固定的时间窗口内有效(通常为30秒)。窗口到期后,再次点击会自动计算出下一个有效的验证码。

相关工具

二维码生成器 · 随机密码生成器 · 计算 HMAC · BIP39生成器 · UUID生成器