你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

槃星—第4天任务—动态令牌

2021/10/30 3:59:55

JAVA实战训练营Day.4 ——“请输入您的验证码”

目录

前言

一、Day.4的目标

二、任务所涉及的知识点(参考资料)

1.OTP动态令牌的原理

2.jar包的安装及使用

3.动态令牌源码

三、开始实战

1.了解动态令牌背后的OTP技术

2.实现二次验证码的校验通过

四、总结


前言

生活中,我们在登录一些软件或者注册信息时经常会被要求输入验证码,今天我们就来了解验证码背后的密码,并且实现用Java完成动态验证码的生成与校验。


一、Day.4的目标

1.了解动态令牌背后的OTP技术

2.实现二次验证码的校验通过

二、任务所涉及的知识点(参考资料)

1.OTP动态令牌的原理

https://blog.csdn.net/terrychinaz/article/details/112976265icon-default.png?t=L9C2https://blog.csdn.net/terrychinaz/article/details/112976265

2.jar包的安装及使用

https://blog.csdn.net/hwt1070359898/article/details/90517291?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163553049216780255243863%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163553049216780255243863&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-90517291.pc_search_all_es&utm_term=idea%E5%AF%BC%E5%85%A5jar%E5%8C%85&spm=1018.2226.3001.4187icon-default.png?t=L9C2https://blog.csdn.net/hwt1070359898/article/details/90517291?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163553049216780255243863%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163553049216780255243863&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-90517291.pc_search_all_es&utm_term=idea%E5%AF%BC%E5%85%A5jar%E5%8C%85&spm=1018.2226.3001.4187

3.动态令牌源码

百度网盘链接:https://pan.baidu.com/s/1ytgLmHxxXr_vuR2UTb5Jfgicon-default.png?t=L9C2https://pan.baidu.com/s/1ytgLmHxxXr_vuR2UTb5Jfg

提取码:1024

三、开始实战

1.了解动态令牌背后的OTP技术

因为任务1是知识目标,详细还请大家查阅参考资料1.

(理论学习得靠大家自己理解,不是我偷懒不写哦,大家多多包涵哈QAQ)。

参考资料1.:

https://blog.csdn.net/terrychinaz/article/details/112976265icon-default.png?t=L9C2https://blog.csdn.net/terrychinaz/article/details/112976265至此任务1完成

2.实现二次验证码的校验通过

首先我们将源码导入IDEA中:

接着调用工具类OTPAuthUlt.generateSecret(64)方法生成秘钥secret,保存方便后续测试。

顺带填写自己要验证的账户名称(不要用中文,长度别太长)。

再调用工具类OTPAuthUlt.generateTotpURI(account, secret)方法生成OTPAUTH协议字符串。

借助免费(白嫖万岁!)的二维码生成网站(eg:http://cli.im)将生成的OTPAUTH协议链接变成二维码。

 借助微信小程序——二次验证码,扫描网站生成的二维码。

生成的动态令牌795490出现在了小程序上,并且有圆圈显示倒计时失效的进度提示,将795490用code变量保存下来 。

最后调用工具类OTPAuthUlt.verify(secret, code)方法验证动态码是否正确。

动态口令TURE,二次验证码校验通过。

至此任务2完成


四、总结

今天的任务让我对验证码的感性认知上升到了理想认知(最近复习完马哲OVO),明白了OTP动态验证码的原理。自己也尝试成功完成了二次验证码的校验,开始逐渐感受到了Java语言的魅力,自己学习Java的路还很长,流年笑掷,未来可期吧!

(完结撒花)