Python 谷歌令牌

python 实现google authenticator 认证

一、环境描述

  • windows开发环境

  • python: 3.6

  • 所需安装包: pyotp qrcode Image

二、实现原理

  • 1.使用pyotp 的python模块生成google auth 需要的密钥

  • 2.根据密钥生成条形码图片

  • 3.使用google authenticator 客户端扫描条形码,客户端根据时间及密钥经过算法生成6位数的验证码

  • 4.平台二次认证通过对输入的验证码进行校验,校验也是基于时间和密钥

三、代码实现

3.1随机密钥生成

# a.安装模块包 pyotp
pip install pyotp


# b.密钥生成
import pyotp
gtoken = pyotp.random_base32(64) #获取随机密钥,存于用户表中,随机64位

3.2 图片二维码生成

3.3 效验验证码正确性

四、完整代码

Last updated