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