TOTP:秒数计数吗?

时间:2018-06-27 02:34:36

标签: 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停止吗?

我想我在这里没有重点。

1 个答案:

答案 0 :(得分:3)

这是使用Java进行四舍五入的方式

JSON.parse(resp.text).items.map((event) => {
      var start = moment(event.start.dateTime,'YYYY-MM-DD HH:mm').toDate();
      var end = moment(event.start.dateTime,'YYYY-MM-DD HH:mm').toDate();
      events.push({
        start: start,
        end:  end,
        title: event.summary,
      })
    });

因此,您要问的是“ Math.floor(epoch / 30)”这一部分,这意味着OTP生成于12:22:30、12:22:37、12:22 :39 .... 12:22:59完全一样