通过JAVA实现OTP验证-下
2023-04-18 13:14:08 时间
前言
在上一篇文章中我们讲了动态令牌背后的OTP技术,这篇文章我们可以尝试自己用JAVA实现OTP验证。
参考文章通过JAVA实现OTP验证-上
准备工具
IntelliJ IDEA
源码 - 提取码:Huah
commons-codec-1.9.jar - 提取码:Huah
二维码生成网站
一、导入项目
- 点击IDEA选项栏中的文件,在点击打开
- 找到自己存放源码文件的路径,再选择源码,点击下面的打开
- 这里我们看到这里报错
那是因为我们没有导入org.apache.commons.codec.binary的jar包
- 导入jar包
这里是引用
- 首先点击文件中项目结构这块
- 再选择模块-依赖这里,再点击左上角有个+号,再选择第一个
- 找到自己放jar包的路径,选择jar包,最后再点击确定就好了
- 再点击这里的确定就成功将jar包导入
二、运行源码
- 运行OTPAuthUtilTester类
- 选择OTPAuthUtilTester类
2. 运行
3.控制台打印了如下信息,但是我们看到动态口令是否正确打印的是false
那是因为我们没有将正确的动态口令存到code变量中
三、验证令牌
- 打开免费的二维码生成网站
otpauth://totp/Huahua?secret=WJ5E332WQQQ6HHUPM2JELL2ZCFNK56MQLIYD7RY4K5NNTHO6TURA
将上述链接粘贴到文本框中,我们再用微信小程序——二次验证码扫描旁边的二维码
- 二次验证码扫码
这里我们看到动态令牌已经生成了,并且旁边有时间限制,表示这个动态令牌近战当前时间内有效
- 将动态令牌存储到code变量中
这里我们看到此时动态令牌是否正确打印了true
总结
通过JAVA,自己动手去尝试实现动态令牌验证的过程是否对于你来说有趣呢?其实这里我们只是简单的实现了,感兴趣的同学可以继续深入的去研究,相信会学到更多有用的知识!
相关文章
- XML Web Service并发异步调用的问题及其解决方案
- .net 跨平台也是一句谎言
- 我对NHibernate的感受(2):何必到处都virtual
- 从ASP.NET的PHP执行速度比较谈起
- 关于.NET VS JavaEE平台争论的沉思录
- 探寻IIS最大并发数
- 事理越辩越明,那么就来详细说说为什么我不喜欢Java*语言*
- Paxos算法理解与java实现
- 读Java性能权威指南(第2版)笔记10_原生内存
- 一次Java服务内存过高的分析过程
- 学会了Java 8 Lambda表达式,简单而实用
- Java实战(第二版)读后总结与感想
- Java项目集成工作流activiti,会签
- 剑指 Offer 64. 求 1 + 2 + … + n(java解题)
- 基于alpine基础镜像构建jdk镜像以及tomcat镜像及业务构建
- 剑指 Offer 55 - I. 二叉树的深度(java解题)
- 项目中并发修改可能存在的问题
- 双亲委派机制
- Java中的代码块
- Java 中 hashCode 和 equals 方法是什么?它们和 == 各有什么区别?