java使用驗證碼進行登入驗證

來源:互聯網
上載者:User

標籤:

隨機產生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());    }

 

java使用驗證碼進行登入驗證

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.