验证码Java实现

验证码Java实现

[图片上传失败...(image-50451b-1539494521700)]

1、Servlet实现验证码

实现步骤:

  • 1、服务端随机生成验证码:利用java.awt中的相关类,譬如Graphics (核心),BufferedImage
  • 2、利用Servlet进行ClientServer的交互,进行验证码的获取,以及表单的客户端验证码输入和服务端存储的记录进行验证。

核心代码:(验证码的生成)

public class ImageServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        //初始化图片类型
        BufferedImage bufferedImage = new BufferedImage(68, 22, BufferedImage.TYPE_INT_RGB);
        //进行制图
        Graphics graphics = bufferedImage.getGraphics();
        //RGB设置颜色并填充对应图像坐标像素点
        Color color = new Color(200, 150, 255);
        graphics.setColor(color);
        graphics.fillRect(0, 0, 68, 22);
        char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
        Random random = new Random();
        int length = chars.length, index;

        //循环随机生成验证码
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < 4; i++) {
            index = random.nextInt(length);
            //设置验证码的不同颜色并记录验证码
            graphics.setColor(
                    new Color(random.nextInt(88), random.nextInt(188), random.nextInt(255)));
            graphics.drawString(chars[index] + "", (i * 15) + 3, 18);
            stringBuffer.append(chars[index]);
        }
        //将验证码的记录值存储在session中
        req.getSession().setAttribute("picCode", stringBuffer.toString());
        //将生成的图片写入Response的输出流中
        ImageIO.write(bufferedImage, "JPG", resp.getOutputStream());
    }
}

2、插件实现验证码:

  • 常见验证码组件 JcaptchaKaptcha

敬请期待 :)

3、Java图片验证码

敬请期待 :)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,372评论 11 349
  • Java实现验证码制作 第一章 概述 1.1 验证码概述 为什么要使用验证码什么是验证码使用Servlet实现验证...
    qezhhnjy阅读 2,051评论 0 6
  • 我喜欢与人分享我一天的行程,不是那种表格式的,而是我去做一件事或者刚做完一件事就迫不及待的想要告诉别人,我觉得这样...
    必雨轩阅读 288评论 0 0
  • 今天中午看了韩剧《犯罪心理》的最新一集,只是刚刚演到一个杀人案件警察刚开始摸不到头绪的调查。 这个案件是一个男人将...
    火之童阅读 711评论 5 2