我正在尝试使用 python 对 TOTP 的支持以编程方式获取 Microsoft 身份验证器应用程序中可用的 MFA/2FA 代码。我的代码如下所示:
import pyotp
import base64
secret = "mysecretkeyhere".encode( "UTF-8" )
b32Secret = base64.b32encode( secret )
totp = pyotp.TOTP( b32Secret ).now()
print( totp )
来自mysecretkeyhere
扫描二维码/密钥,格式为
"otpauth://totp/ namehere ?secret= 16digitsecrethere &issue= issuerhere &algorithm=SHA1&digits=6"
当我运行此代码段并与身份验证器应用程序中的 6 位代码进行比较时,我的应用程序和身份验证器应用程序中生成的代码不一致。代码也不会在时间延迟上重叠(使用 while 循环测试,该循环重复执行底部两行)。
关于如何让 TOTP 函数返回与我的身份验证器应用程序中相同的代码的任何建议?提前致谢。