Web登录之验证码机制

没有 看到验证码机制 的时候,个人想法是 请求后台生成数据用数据库保存 然后前台拿到数据匹配如果正确则可以登录....

其实事实上接近了...


今天看到一个朋友写的验证登录出来给大家分享下 。


下面我把前后台代码贴出来。


一 、首先web端


用 /image?new date 去后台请求 【/image 】 serverlet。

二、serverlet

serverlet 中 用随机数生成 4个随机数  用 swing 的Graphics  把 4个数画到 图片上 。返回给前台 同时 将4个随机数写入session。

部分代码如下 

HttpSession session = req.getSession();   

Graphics g = image.getGraphics();     //画图 使用的类  画图 就不写了 网上有很多 ...

String  randnum = getRandomCode();//自定义 获取4个随机数

 g.drawString(randnum , 13 * i + 6, 16);

session.setAttribute("VerifyCode" randnum );

  ImageIO.write(image, "JPEG", res.getOutputStream());//返回web 图片。

三 、登录

如此登录的时候 只要从session 中取出 比较下就行了 

web 传一个str.eq(session.getAttibute("VerifyCode"));













  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值