TOTP / HOTP 密钥生成器
指导
TOTP / HOTP 密钥生成器
为 Google Authenticator 和 Authy 等双重身份验证应用生成加密安全的 TOTP 和 HOTP 密钥。该生成器会创建 Base32 编码的密钥,通过 otpauth:// URI 标准生成可扫描的二维码,并显示实时 TOTP 预览,以便您在部署密钥之前验证其是否正常工作。
如何使用
选择 OTP 类型(TOTP 用于基于时间的,HOTP 用于基于计数器的),输入发行者名称和帐户标识符,选择您的位数(6 或 8)、算法(SHA-1、SHA-256 或 SHA-512)以及时间周期。点击 产生 以创建新密钥。使用您的身份验证应用扫描二维码以添加帐户,然后验证实时代码是否匹配。
特征
- TOTP 和 HOTP – 支持基于时间(RFC 6238)和基于计数器(RFC 4226)的一次性密码
- 安全生成 – 使用
crypto.getRandomValues()用于加密强度高的密钥 - Base32 编码 – 输出与所有主流身份验证应用兼容
- 内联二维码 – 从 otpauth:// URI 客户端生成,无需外部服务
- 实时 TOTP 预览 – 显示当前 6/8 位代码实时更新,以验证密钥
- 算法选择 – SHA-1(默认)、SHA-256 或 SHA-512
- 完全客户端 – 密钥绝不会离开您的浏览器
常问问题
-
TOTP 和 HOTP 之间有什么区别?
TOTP(基于时间的单次密码,RFC 6238)根据当前时间生成代码,默认每 30 秒刷新一次。HOTP(基于 HMAC 的单次密码,RFC 4226)根据每次使用递增的计数器生成代码。TOTP 在现代 2FA 系统中更常见,因为它不需要服务器-客户端计数器同步,但 HOTP 在离线或异步场景中很有用。
-
为什么 SHA-1 仍然是 TOTP 的默认算法?
SHA-1 仍然是默认设置,因为 RFC 6238 指定它为基线,并且几乎所有身份验证应用(Google Authenticator、Authy、Microsoft Authenticator)都支持它。虽然 SHA-1 在数字签名方面存在已知弱点,但 TOTP 中使用的 HMAC-SHA-1 不易受到这些攻击。SHA-256 和 SHA-512 提供更强的安全性,但应用程序支持有限。
-
otpauth:// URI 方案如何工作?
otpauth:// URI 编码了配置身份验证应用程序所需的所有参数:密钥、发行者名称、帐户标签、算法、位数和时间周期。二维码嵌入此 URI,以便用户无需手动输入即可扫描和导入帐户。格式为:otpauth://totp/Issuer:Account?secret=BASE32SECRET&issuer=Issuer&algorithm=SHA1&digits=6&period=30
-
在浏览器工具中生成 TOTP 密钥是否安全?
是的,当该工具完全在客户端运行时。此生成器使用 Web Crypto API 在本地生成密钥,并且绝不会将其传输到任何服务器。您可以通过查看浏览器开发者工具中的网络选项卡来验证这一点——在生成密钥期间不会发出任何出站请求。请安全地存储生成的密钥,切勿共享。
