• 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());
        }
  • 相关阅读:
    centos 6 安装
    DNS介绍
    Saltstack远程执行(四)
    Saltstack数据系统Grains和Pillar(三)
    array_multisort 二维数组排序
    jqgit...
    Redis 创建多个端口 链接redis端口
    百度商桥回话接口
    加ico
    redis 新开端口号
  • 原文地址:https://www.cnblogs.com/fxfly/p/4642394.html
Copyright © 2020-2023  润新知