Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django otp:我应该在生成hotp令牌时增加计数器吗?_Python_Security_Token_Hmac - Fatal编程技术网

Python django otp:我应该在生成hotp令牌时增加计数器吗?

Python django otp:我应该在生成hotp令牌时增加计数器吗?,python,security,token,hmac,Python,Security,Token,Hmac,我使用django otp生成hotp, 我还没有找到正确生成hotp令牌的文档 因此,我阅读了HOTPDevicemodel类中的verify_token方法,了解了如何验证token if hotp(key, counter, self.digits) == token: verified = True self.counter = counter + 1 self.save() 从上面我知道我可以使用hotp函数创建令牌 然后我使用hotp函数生成令牌,但我注意到

我使用django otp生成hotp, 我还没有找到正确生成hotp令牌的文档

因此,我阅读了
HOTPDevice
model类中的
verify_token
方法,了解了如何验证token

if hotp(key, counter, self.digits) == token:
    verified = True
    self.counter = counter + 1
    self.save()
从上面我知道我可以使用
hotp
函数创建令牌

然后我使用hotp函数生成令牌,但我注意到它在未确认时重复返回相同的令牌。因此,在生成计数器时,是否也应增加计数器的值

来源:

所以我找到了

HOTP客户端(硬件或软件令牌)增加其计数器 然后计算下一个HOTP值HOTP client

因此,我应该首先递增
计数器
,将其保存到对象,然后返回生成的令牌