是的,如果时钟不同步,那么totp将不会验证。但除非您知道客户端时钟错误并且服务器时钟正确,否则说明令牌无效在语义上是正确的。
不,如果系统设置正确,时区不相关 - 两个设备都应将哈希基于公共数据。通常使用UTC或GMT。您的计算机可以显示正确的挂钟时间,但可以在错误的时区配置。如果是这种情况,它将无法正确地将时间转换为公共时区。
使用NTP是保持准确时间的一种解决方案(如果您有互联网连接,则是便宜的),但还有其他解决方案。
验证将支持多少时钟抖动取决于实现的算法。