7

根据wiki,谷歌 2 因素身份验证密钥应该是 16 个字符的 base32 字符串。当我解码google发给我的二维码时,发现它符合google指定的Key格式,但发现密码长度不对。谷歌是否改变了秘密长度或编码格式?我有什么方法可以从我拥有的密钥中获取 16 个字符的 base32 字符串?我来自 QR 码的密钥(我显然没有完全复制和粘贴)是:

otpauth://totp/Google%3Amyemail%40gmail.com?secret=7gmdmzctmhpm7i6nrmbom6u5gny7o6la&issuer=Google

这是我所知道的:

  1. 它不是十六进制的。
  2. 它有 32 个字符长。
  3. 它确实符合base32,但为什么都是小写?google 的密钥格式规范上的示例全部显示为大写?

我唯一能想象的是,谷歌已经将格式从只有 16 个字符更改为 32 个字符。有人知道吗?

4

2 回答 2

0

它是一个 16、26 或 32 个字符的 base32 字符串。请参阅https://en.wikipedia.org/wiki/Google_Authenticator

于 2020-11-12T07:44:12.237 回答
0

秘密的长度只有 16 个字符,都是一种情况。

它是小写的 a还是大写的 A都没有关系,因为它转换为相同的位。

于 2016-03-22T09:25:04.913 回答