令牌参数详解:算法、位数、周期怎么填
四个参数一览
手动添加令牌时要填(扫码则自动带过):
| 参数 | 常见默认 | 取值范围 | 什么时候动它 |
|---|---|---|---|
| 算法 | SHA-1 | SHA-1 / 224 / 256 / 384 / 512 | 服务端明确要求其他算法 |
| 位数 | 6 | 6 / 8 | 服务端要求 8 位 |
| 类型 | TOTP | TOTP / HOTP | 企业令牌指定 HOTP |
| 周期 | 30 秒 | 可配置(TOTP 专用) | 自托管服务自定义了周期 |
判断依据:以服务端为准
这些参数不是口味问题——服务端用什么参数,你就得配什么参数,两边不一致码永远对不上。依据来源:
- 网站绑定页的文字提示(多数会写"6 位、30 秒有效")。
- 自托管服务的配置文件(管理员配的)。
otpauth://URI 里的参数段(手动添加时照抄)。
默认值够用的判断
个人网站场景,默认值(SHA-1 / 6 位 / TOTP 30 秒)几乎永远正确。SHA-1 在这个场景下并未被实际攻破——RFC 6238 与主流服务至今默认它。不必因"SHA-1 听起来弱"而强行换算法。
参数配错的症状
与密钥抄错同症:从头到尾都错,没有一次成功过。区别在排查方向:
- 参数错 → 删令牌重加,逐项对照服务端要求。
- 密钥错 → 删令牌重抄密钥。
- 偶尔对偶尔错 → 不是参数问题,查 时间同步。
HOTP 的计数器
HOTP 令牌多一个计数器概念:出一次码计数器加一。若手机与服务端计数器错位(比如你出码了但没提交),码会持续错位——部分实现会自动重同步,不行就删掉重绑。
相关页面
- 手动输入操作:手动添加令牌
- 算法原理:TOTP 与 HOTP
- 自托管场景:自托管服务场景