去中心化的jwt(三)支付安全(三)RFC 6238 离线
定义了TOTP(Time-based One-time Password,基于时间的一次性密码)算法。该标准是双因素认证(2FA)的核心基石,被广泛应用于 Google Authenticator、Microsoft Authenticator 等验证器应用以及各类安全登录系统中 。
算法利用共享密钥(Secret Key)和当前 Unix 时间戳,通过 HMAC-SHA-1(或 SHA-256/SHA-512)哈希函数生成一次性密码 。
默认时间步长(Time Step)为30 秒,意味着生成的验证码每 30 秒自动刷新一次。
计算公式为 T=⌊(CurrentUnixTime−T0)/X⌋T=⌊(CurrentUnixTime−T0)/X⌋,其中 T0 通常为 0,X 为步长 。
容错机制:为应对客户端与服务端时钟不同步或网络延迟,验证系统通常会设置容错窗口(如接受前后相邻的时间步长内的密码)
hmacsha512(对称密钥,timestamp/30)
浙公网安备 33010602011771号