TOTP双因素验证生成器
使用我们的免费在线TOTP/2FA生成器为双因素认证测试生成基于时间的一次性密码(TOTP)。无论您是在应用程序中实现2FA的开发人员、验证TOTP工作流的QA工程师、还是测试认证系统的安全专业人员,此工具都能让您快速访问TOTP代码和密钥。以Base32格式生成TOTP密钥,创建兼容身份验证器的QR码,并生成与Google Authenticator、Authy、Microsoft Authenticator和其他标准TOTP应用匹配的基于时间的代码。设置自定义参数,包括算法(SHA-1、SHA-256、SHA-512)、位数长度和时间段。所有生成都在浏览器本地完成——您的密钥永远不会离开您的设备。
功能介绍
TOTP(基于时间的一次性密码)生成器是一种工具,用于创建双因素认证(2FA)系统中使用的临时、时间敏感的认证代码。TOTP在RFC 6238中定义,是Google Authenticator、Authy、Microsoft Authenticator和Duo等流行身份验证器应用背后的算法。该算法通过将共享密钥与当前Unix时间结合来生成一个每隔30秒变化的短数字代码。由于代码取决于密钥和当前时间,因此过期后无法重用,并且在不知道密钥的情况下无法预测。我们的免费在线TOTP/2FA生成器允许您创建与所有标准身份验证器应用兼容的Base32编码密钥,生成QR码以便在移动身份验证器应用中轻松设置,并使用可配置参数(SHA-1、SHA-256或SHA-512哈希算法、6位或8位代码,以及自定义时间段)生成基于时间的代码。所有加密操作都使用Web Crypto API在浏览器本地运行,因此密钥绝不会通过互联网传输。这使得该工具非常适合测试2FA实现、模拟身份验证器行为以及教育用户了解TOTP机制。
使用方法
- 通过点击生成按钮生成一个新的Base32编码的密钥,或者如果您需要测试特定配置,请输入您自己的现有密钥。
- 可选地自定义TOTP参数,包括哈希算法(SHA-1、SHA-256或SHA-512)、位数(6或8)和时间段(以秒为单位)。
- 查看当前TOTP代码,它会在每个时间段自动更新。该代码与使用相同密钥和参数的身份验证器应用中显示的代码相匹配。
- 使用您的移动身份验证器应用扫描生成的QR码以设置用于测试目的的2FA,或者手动将密钥输入到您的身份验证器中。
- 使用剩余时间指示器查看当前代码何时过期以及何时会生成新代码,验证您的TOTP实现是否正确处理基于时间的轮换。
计算示例
输入: 密钥: JBSWY3DPEHPK3PXP, 时间: 现在
过程: 解码Base32密钥 → 获取当前30秒窗口计数器 → HMAC-SHA1 → 截断
结果: 当前代码: 483529 (有效剩余18秒)
输入: 验证: 用户输入483529, 窗口: ±1
过程: 计算前/当前/下一窗口计数器 → 对比代码
结果: ✓ 有效 (匹配当前窗口计数器)
相关搜索
相关搜索:TOTP双因素验证生成器, 免费在线, 浏览器工具, 无需注册, 在线工具, 开发者工具。
TOTP双因素验证生成器免费在线浏览器工具无需注册在线工具开发者工具
常见问题
什么是TOTP,2FA如何工作?
TOTP(基于时间的一次性密码)是一种算法,基于共享密钥和当前时间生成临时认证代码。在典型的2FA设置中,服务器和用户的身份验证器应用都存储相同的密钥。每30秒,从密钥和当前的Unix时间戳生成一个新的6位数字代码。在登录期间,用户输入此代码,服务器通过独立生成相同的代码来验证它。这增加了密码之外的第二层安全性,因为攻击者需要密码和对身份验证器的物理访问才能登录。
可以将生成的密钥与Google Authenticator一起使用吗?
是的,完全可以。此工具生成的密钥是Base32编码的,与Google Authenticator、Authy、Microsoft Authenticator、Duo Mobile以及支持TOTP标准(RFC 6238)的任何其他身份验证器应用完全兼容。您可以直接在身份验证器应用中扫描QR码或手动输入Base32密钥。当使用相同密钥和参数时,我们工具生成的代码将与您身份验证器应用中的代码完全匹配。
TOTP代码是如何计算的?
TOTP代码使用基于HMAC的一次性密码(HOTP)算法计算,以当前时间作为计数器值。具体而言,Unix时间戳除以时间段(通常30秒)产生一个计数器。然后使用共享密钥与HMAC-SHA1(或SHA-256/SHA-512)生成哈希,该哈希被动态截断以产生6位或8位代码。整个过程是确定性的——给定相同密钥和相同时间,任何TOTP实现都将产生相同的代码,这就是使系统能够在不同应用和服务器之间工作的原因。
在浏览器中生成TOTP密钥安全吗?
对于测试和教育目的,是的。我们的TOTP生成器使用Web Crypto API在浏览器本地执行所有加密操作。密钥绝不会传输到任何服务器、存储在任何数据库或以任何方式记录。您可以通过检查浏览器在使用工具时的网络选项卡来验证这一点。但是,对于生产使用,您应该使用服务器的安全密钥生成基础设施或身份验证器应用直接生成实际的2FA密钥,因为浏览器提供的熵和安全性可能不如专用加密硬件。
为什么我的TOTP代码与身份验证器应用不匹配?
TOTP代码不匹配的最常见原因是服务器和身份验证器设备之间的时钟同步。TOTP算法依赖于双方具有同步的Unix时间——即使几秒钟的偏差也可能导致不匹配,因为代码每30秒变化一次。其他可能的原因包括使用错误的密钥、不同的哈希算法(SHA-1 vs SHA-256)、不同的位数(6 vs 8)或不同的时间段。确保您的TOTP生成器和身份验证器应用使用相同的参数,并且设备时钟准确。大多数身份验证器应用使用NTP服务器自动同步时间。