首页 > 解决方案 > TOTP:秒数吗?

问题描述

在设备上:如果现在生成 TOTP,它会持续到最后几秒还是四舍五入到最接近的 00?

例如,如果我在 22hr:30m​​:2s:33ms(在 UTC 中检查)生成 TOTP,它是否四舍五入到 22hr:30m​​:0s:00ms 然后生成?

我有这个问题是因为,如果我要在 22hr:30m​​:2s:33ms 生成 TOTP,并且如果服务器要在 22hr:30m​​:6s:40ms 验证它,那么 totp 会不会有所不同?即使我们使用 3 个步骤,每个步骤 30 秒,我们不会错过 22hr:30m​​:2s:33ms 停止吗?

我想我在这里错过了重点。

标签: totp

解决方案


这是使用 Javascript 对其进行四舍五入的方式

var time = leftpad(dec2hex(Math.floor(epoch / 30)), 16, '0');

所以你问的是回答这部分“<strong>Math.floor(epoch / 30)”,意思是OTP在12:22:30、12:22:37、12:22:39 .... 12生成:22:59 完全一样


推荐阅读