Java项目-----图形验证码登陆实现

原理:

验证码在前端显示,但是是在后端生成, 将生成的验证码存入redis,待登录时,前端提交验证码,与后端生成的验证码比较.

详细解释:

图形验证码的原理(如下图代码).前端发起获取验证码的请求后,

1 后端接收请求,生成一个键key(随机的键) 然后生成一个验证码作为map的value.将key value set到HashMap(键不能重复)中,

2然后将此key,value存储到redis中,设置过期时间为5分钟.随后将map中的键值对返回到前端,注意此map有效时间是根据redis的有效时间而定.

-------html

--------js 3 前端获取到该map如下图

将后端获取到的value显示到前端,然后将key保存到form中,当点击登陆时,此时将form中的用户自己输入的验证码的值,和后端传递回来的key还有账户,密码传递到后端,后端拿到这个自己曾经传递回来的key和redis中的key进行寻找,然后将用户输入的value与redis对应的key相比较,如若成功,则成功进行下一步,进行数据库交互,比较账户密码.

写一个5分钟自动换验证码的方法

钩子函数调用即可

相关依赖

效果图

如图所示,图形验证码,将图形验证码的函数写在钩子函数中,加载页面即显示,

相关推荐
rchmin1 分钟前
Spring Boot自动装配原理解析
java·spring boot·后端
张就是我1065926 分钟前
漏洞复现指南:利用 phpinfo() 绕过 HttpOnly Cookie 保护
前端
程序员小假8 分钟前
我们来说一下 synchronized 与 ReentrantLock 的区别
java·后端
益达32110 分钟前
【避坑指南】Maven依赖冲突怎么解决?用mvn dependency:tree一眼看清
java
Kagol11 分钟前
🎉TinyVue v3.27.0 正式发布:增加 Space 新组件,ColorPicker 组件支持线性渐变
前端·vue.js·typescript
潍坊老登11 分钟前
大前端框架汇总/产品交互参考UE
前端
爱装代码的小瓶子15 分钟前
【c++进阶】从C++98到C++11的奇妙旅程(故事科普版)
开发语言·c++
智航GIS17 分钟前
2.3 运算符详解
开发语言·python
方安乐18 分钟前
获取URL参数如何避免XSS攻击
前端·xss
web3.088899922 分钟前
接入API-自动化批量获取淘宝商品详情数据
开发语言·python