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分钟自动换验证码的方法

钩子函数调用即可

相关依赖

效果图

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

相关推荐
崔庆才丨静觅11 分钟前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
YUJIANYUE11 分钟前
PHP纹路验证码
开发语言·php
忆~遂愿12 分钟前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
剪刀石头布啊13 分钟前
jwt介绍
前端
爱敲代码的小鱼20 分钟前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax
小韩学长yyds22 分钟前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹23 分钟前
【Java基础】多态 | 打卡day2
java·开发语言
孞㐑¥23 分钟前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Re.不晚24 分钟前
JAVA进阶之路——无奖问答挑战2
java·开发语言
八零后琐话26 分钟前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python