解码Google 2 Factor身份验证QR码格式

Pre*_*ays 6 qr-code two-factor-authentication

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

otpauth://totp/Google%3Amyemail%40gmail.com?secret=7gmdmzctmhpm7i6nrmbom6u5gny7o6la&issuer=Google
Run Code Online (Sandbox Code Playgroud)

这就是我所知道的:

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

我唯一能想到的是谷歌已经将格式从16个字符改为32个字符.有谁知道这个?

Kra*_*ime 1

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

它是小写a还是大写A并不重要,因为它会转换为相同的位。