前言:
最近项目中,需要使用到谷歌的验证码,就采用了这种.....
其实还可以使用reCaptcha来做,不过移动端还是采用authenticator 会方便点,
如果想了解reCaptcha,移步到这里:https://blog.csdn.net/baidu_38990811/article/details/86530350
原理:
1.客户端每30秒使用密钥『DPI45HKISEXU6HG7』和时间戳通过一种『算法』生成一个6位数字的一次性密码
2.用户登陆时输入一次性密码『684060』。
3.服务器端使用保存在数据库中的密钥『DPI45HKISEXU6HG7』和时间戳通过同一种『算法』生成一个6位数字的一次性密码。大家都懂控制变量法,如果算法相同、密钥相同,又是同一个时间(时间戳相同),那么客户端和服务器计算出的一次性密码是一样的。服务器验证时如果一样,就登录成功了。
思路:
1.手机下载Google authenticator 验证器
2.在app界面上,无论是扫码还是手动添加都行,我是直接手动添加,
测试的话,账号随便输入,正式的话,我都是采用用户手机号,秘钥是16位,生成方法,在下面,