运行工具
本工具支持基于 Base32 密钥生成符合 HMAC-SHA1 算法的一次性动态口令(OTP)。用户可以选择基于时间的一次性口令(TOTP)或基于计数器的一次性口令(HOTP)两种工作模式。在 TOTP 模式下,系统会读取当前 Unix 时间戳,按设定的有效时间周期(默认为 30 秒,支持 1 到 86400 秒的整数设置)计算当前的验证码,并显示当前周期的剩余秒数。在 HOTP 模式下,验证码仅依赖用户输入的整数计数器(支持 0 到 18446744073709551615),不读取系统时钟。生成的验证码支持 6 位或 8 位数字长度。工具支持自动忽略 Base32 密钥前后的空格,自动转换字母大小写并兼容省略填充字符的密钥。生成后的输出界面仅显示生成的验证码及相关计时信息,不会在结果中回显输入的密钥内容。输入参数如验证码位数、周期和计数器均需为正整数或整数格式,非整数或无效参数会导致生成中断。
使用说明
- 输入 Base32 格式的共享密钥字符串。
- 选择工作模式,可选择基于时间的 TOTP 或基于计数器的 HOTP。
- 根据需要选择验证码长度(6 位或 8 位数字)。
- 若使用 TOTP 模式,可按需修改更新周期(默认为 30 秒);若使用 HOTP 模式,请输入对应的计数器数值。
- 点击运行按钮,在结果区域查看生成的动态验证码及剩余有效时间。
示例
- TOTP 模式示例:输入 Base32 密钥 JBSWY3DPEHPK3PXP,选择 6 位验证码和 30 秒周期,点击生成即可在结果区域获取当前的 6 位动态口令以及本周期的剩余有效秒数。
- HOTP 模式示例:输入 Base32 密钥 JBSWY3DPEHPK3PXP,模式选择 HOTP,验证码位数选择 8 位,计数器设为 1,生成后结果面板将显示对应的 8 位数字口令。
常见问题
什么是 TOTP 和 HOTP?
TOTP 是基于时间的一次性口令,口令随时间窗口定期更新;HOTP 是基于事件计数器的一次性口令,每次触发时计数器递增生成新口令。两者均采用 HMAC-SHA1 算法计算。
Base32 密钥输入时需要注意什么格式?
工具支持带有或省略末尾等号填充字符的 Base32 编码字符串,会自动忽略两端的空白字符,并自动将字母统一转换为标准大写进行处理。
如果需要 8 位验证码该如何设置?
在验证码位数选项中直接选择 8 即可,系统会使用 HMAC-SHA1 算法截取生成 8 位纯数字口令。
HOTP 模式下需要配置时间周期吗?
不需要。HOTP 模式仅依赖输入的整数计数器进行运算,完全独立于系统时钟,因此周期参数在 HOTP 下不参与计算。