java使用验证码进行登录验证

随机生成4位验证码,将生成的4位数字字母数字放入session

private static void outputVerifyCode(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        BufferedImage img = new BufferedImage(68, 22, 1);

        Graphics g = img.getGraphics();
        Random r = new Random();
        Color c = new Color(200, 150, 255);
        g.setColor(c);

        g.fillRect(0, 0, 68, 22);

        StringBuffer sb = new StringBuffer();
        char[] ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
        int len = ch.length;

        for (int i = 0; i < 4; i++) {
            int index = r.nextInt(len);
            g.setColor(new Color(r.nextInt(88), r.nextInt(188), r.nextInt(255)));
            g.setFont(new Font("Arial", 2, 22));
            g.drawString(String.valueOf(ch[index]), i * 15 + 3, 18);
            sb.append(ch[index]);
        }
        request.getSession().setAttribute("verifypic", sb);
        ImageIO.write(img, "JPG", response.getOutputStream());
    }

比对将登录提交的验证码和session里的验证码同时转为小写并比较

private boolean chekcVerifycode(String inputStr, String correctStr) {
        return inputStr.toLowerCase().equals(correctStr.toLowerCase());
    }
时间: 2024-08-28 20:59:40

java使用验证码进行登录验证的相关文章

校验验证码 实现登录验证

验证码处理 方式 1.手动处理 2.云打码平台自动识别验证码 实现流程: -1.对携带验证码的页面数据进行抓取 -2.可以将验证码图片进行解析,验证码图片下载到本地 -3.将验证码图片交给第三方进行识别,返回验证码图片上的值 -云打码平台 1.进行注册 注册普通用户和开发者用户 2.登录开发者用户 1.进行示例代码下载(开发文档>>调用示例及最新的DLL>>pythonhttp示例下载) 2.创建一个软件(我的软件>>新的软件) 3.使用示例代码中的源文件代码文件进行修

SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)给Shiro登录验证加上验证码

序: 给Shiro加入验证码,有多种方式,当然你也可以通过继承修改FormAuthenticationFilter类,通过Shiro去验证验证码.具体实现请百度: 应用Shiro到Web Application(验证码实现) 而今天我要说的,既然使用的SpringMVC,为什么不直接在Controller中就处理验证码验证,让事情变的更简单一点呢? 一.新建ValidateCode.java验证码工具类 package org.shiro.demo.util; import java.util.

springboot security+redis+jwt+验证码 登录验证

概述 基于jwt的token认证方案 验证码 框架的搭建,可以自己根据网上搭建,或者看我博客springboot相关的博客,这边就不做介绍了.验证码生成可以利用Java第三方组件,引入 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </depend

Java Web Filter登录验证

初做网站需要登录验证,转自 :http://blog.csdn.net/daguanjia11/article/details/48995789 Filter: Filter是服务器端的组件,用来过滤web请求.当发生一个web请求时,web容器会先检查请求的URL是否设置了Filter,如果设置了,则执行该Filter的doFilter方法.所有Filter都实现了javax.servlet.Filter接口,doFilter是定义在该接口中的最重要的方法. 最常见的使用过滤器的例子有:登录访

java登陆验证码与JS无刷新验证

最近公司的项目的登陆模块由我负责,所以就做了个登陆小功能进行练手,其包括了用jQuery对用户名和密码进行不为null验证,和出于安全性考虑加了一个验证码的校验 别的不说先上代码 controller层 CreateImage.java package com.controller; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage;

Java网络编程:登录界面 登录验证 以及登录成功的好友界面

引言 ? ? 这部分我们就开始设计这个山寨版的qq了,首先最开始的就是需要一个登录界面,当输入的用户名密码正确之后,就跳转到登录成功的界面,我们这里登录成功之后设计的是显示该用户好友界面,这一串我认为是一个整体,所以就放在了一起来写,可能会造成本文比较长. ? 首先我们来看一下登录界面 ? 登录界面 ? ? 我们设计的登录界面如图所示 ? ? ? ? 分析界面 ? ? 这个界面可以分为三个大的部分,北部的一张图片,qq2003全新体验Q人类,中部的QQ号码,手机号码和Email登录部分,以及下面

登录验证随机验证码的实现

今天我们来学习登录验证中,如何生成随机验证码?验证码使用基本都是找现成的组件来实现,用代码实现这个简单功能主要是了解了解验证码内部的实现. 友情链接 生成随机验证码基本流程:http://www.cnblogs.com/yuanchenqi/articles/7468816.html 一.效果图展示 二.代码实现 1.首先用bootstrap布一个上图简单的页面 <div class="container"> <div class="row">

java实现验证码登录

java实现验证码的步骤: 1.创建验证码的实体类,代码如下: import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.OutputStream; import java.util.Rando

在JSP中动态生成随机验证码,登录时后台校验验证码,以及如何避免同一个验证码被重复提交爆破密码

只需几步就可以生成动态随机的验证码,最终效果如下图: 一 前台显示页面login.jsp 其中验证码显示的是一张图片,链接指向的是生成验证码的servlet,同时点击图片后触发changeImg()这个js函数,使其动态生成一个新的验证码,这个函数中的参数t=Math.random()并不会参与验证码的生成,它的作用仅仅只是表示每次提交的并不是同一个请求,需要单独处理,完整的login.jsp代码如下: <%@ page language="java" contentType=&