首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pyotp.TOTP代码不匹配身份验证程序代码

pyotp.TOTP代码不匹配身份验证程序代码
EN

Stack Overflow用户
提问于 2021-02-21 00:04:51
回答 1查看 987关注 0票数 2

我试图使用python对TOTP的支持,以编程方式获得Microsoft身份验证程序中可用的MFA/2FA代码。我的代码如下所示:

代码语言:javascript
运行
复制
import pyotp
import base64
secret = "mysecretkeyhere".encode( "UTF-8" )
b32Secret = base64.b32encode( secret )
totp = pyotp.TOTP( b32Secret ).now()
print( totp )

mysecretkeyhere来自于扫描QR代码/密钥,并且是格式的

"otpauth://totp/namehere?secret=16digitsecrethere&issue=issuerhere&algorithm=SHA1&digits=6“

当我运行此代码段并与我的身份验证程序中的6位代码进行比较时,我的应用程序中生成的代码和身份验证程序中的代码不一致。这些代码也不会在延迟时间上重叠(使用重复执行后两行的while循环进行测试)。

对于如何使TOTP函数返回与我的身份验证程序中相同的代码,有什么建议吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-01-21 18:11:52

我现在和pyotp有另外一个问题,所以我发现了你的问题。

您有一个秘密,即OTP-URI,应该简单地解析它。根据文件

代码语言:javascript
运行
复制
#!/usr/bin/env python

import pyotp

otp_uri = 'otpauth://totp/namehere?secret=16digitsecrethere&issue=issuerhere&algorithm=SHA1&digits=6'
otp     = pyotp.parse_uri( otp_uri )

print( otp.now() )

希望仍然支持你的需求

最好的

麦金妮

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66297852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档