2017-06-27 18 views
-1
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に変更したいと思います。time.sleep(32)の前と後の両方にTrue出力が得られるはずですが、次の出力が得られます。pyotp.totpモジュールの間隔を変更するにはどうすればよいですか?

答えて

0

すべてを行う必要がTOTPコンストラクタにkwargとしてパスintervalあるようthe sourceを見ると、なります。

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

私はあなたが使用したい、と思います。

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

検証間隔を-1,0、+ 1のOTP値に拡張すると、3つの間隔でtrueを返します。

https://pyotp.readthedocs.io/en/latest/#pyotp.totp.TOTP.verify

関連する問題