在设备上:如果现在生成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停止吗?
我想我在这里没有重点。
答案 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完全一样