双因素身份验证应用程序如何生成代码?

How does a Two-Factor Authentication app generate the code?

我正在尝试为私人应用程序复制 Authy/Google 身份验证器的功能。我应该使用什么算法从已知秘密中获取 6 位或 8 位 2fa 代码?有这个的开源包吗?

这些是使用基于时间的一次性密码 (TOTP) 算法生成的。 https://datatracker.ietf.org/doc/html/rfc6238 处的 RFC。根据您的首选编程语言,有许多可用的软件包。 (您可以在 google 上搜索 TOTP <your language> 以查找执行此操作的软件包)

获得密钥后,可以根据当前时间生成 OTP。