如何更改间隔pyotp.totp模块?

2024-05-15 09:44:14 发布

您现在位置:Python中文网/ 问答频道 /正文

totp = pyotp.TOTP("base32secret3232")
totp.at(time.time(),60)
print("Current OTP:", totp.now())
otp=totp.now()
text='Your OTP is ' + totp.now()
print totp.verify(otp)
time.sleep(32)
print totp.verify(otp)

我想把时间间隔从默认的30改为60。我应该在前后都得到真实的输出时间。睡觉(32)但我得到以下输出。在


Tags: textyourtime时间currentnowattotp
2条回答

我想,你要用

...
print totp.verify(otp, valid_window=1)
time.sleep(32)
print totp.verify(otp, valid_window=1)
...

为了扩展验证间隔,将OTP值增加到-1、0和+1,这将在3个间隔内返回true。在

文档位于;https://pyotp.readthedocs.io/en/latest/#pyotp.totp.TOTP.verify

看一下the source,您需要做的就是将interval作为一个kwarg传递给TOTP构造函数:

totp = pyotp.TOTP('secret', interval=60)
# ...

相关问题 更多 >