找不到有关9位十进制TOTP密钥的任何信息

问题描述 投票:0回答:1

长话短说,我正在尝试使用 Python 为 2FA 应用程序创建前端,但遇到了一些奇怪的事情。

典型的 TOTP 密钥是具有 16 或 32 位数字的基于 32 的数字,但我正在测试的帐户之一具有 9 位十进制密钥(例如

091827364
)。
在身份验证器应用程序上,这与任何其他 2FA 代码一样,但我在 Python 中看到的库都不支持它 - 它们只是使用
base64.b32decode()
函数从密钥中提取字节 - 但 base-32 不支持包括我的密钥中存在的 1、8 和 9,尝试使用它会引发错误。

我认为这个整数(至少我假设这就是它的处理方式)在传递到哈希程序之前简单地转换为 base-32,但即使经过一些尝试和错误,我也无法复制我的 2FA 代码进入我的手机应用程序。
一定有某种我不知道的转换算法。这个 9 位密钥有具体名称吗?我尝试过搜索不同类型的 TOTP 密钥,但唯一出现的内容是无用的“TOTP vs HOTP”技术博客......

python base64 totp base32
1个回答
0
投票

选择“使用另一个身份验证器”,以便它使用通用协议来生成代码。

© www.soinside.com 2019 - 2024. All rights reserved.