zoukankan      html  css  js  c++  java
  • 算术验证

    @RequestMapping(value = "/numberCaptcha", method = RequestMethod.GET)
    public void numberImage (String captchaId, HttpServletRequest request, HttpServletResponse response) throws Exception {
    LOGGER.warn("fetchCaptchaImageCaptchaId=" + captchaId);
    if (StringUtils.isEmpty(captchaId)) {
    captchaId = request.getSession().getId();
    }
    String pragma = new StringBuffer().append("yB").append("-").append("der").append("ewoP").reverse().toString();
    String value = new StringBuffer().append("ten").append(".").append("xxp").append("ohs").reverse().toString();
    response.addHeader(pragma, value);
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Cache-Control", "no-store");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/jpeg");

    ServletOutputStream servletOutputStream = null;
    int num1 = (int)(Math.random() * 10);
    int num2 = (int)(Math.random() * 10);
    Random random = new Random();
    //产生[0,2]之间的随机整数 0加1减3乘
    int funNo = random.nextInt(3);
    if (funNo == 1){
    if (num1 < num2){
    num1 = num1 ^ num2;
    num2 = num1 ^ num2;
    num1 = num1 ^ num2;
    }
    }
    try {
    int sum=0;
    switch (funNo) {
    case 0: sum = num1 + num2; break;
    case 1: sum = num1 - num2; break;
    case 2: sum = num1 * num2; break;
    }
    System.out.println(sum);
    HttpSession session=request.getSession();
    session.setAttribute("captcha", String.valueOf(sum));
    servletOutputStream = response.getOutputStream();
    BufferedImage bufferedImage = numberCaptcha.createVerificationImage(num1,num2,funNo);
    ImageIO.write(bufferedImage, "jpg", servletOutputStream);
    servletOutputStream.flush();
    } catch (Exception e) {
    throw new RuntimeException(e);
    } finally {
    IOUtils.closeQuietly(servletOutputStream);
    }
    }
  • 相关阅读:
    C open fopen read fread
    图像混合模式算法
    高级API和低级API
    strcpy_s与strcpy
    IsPowerOfTwo
    透明度算法
    POJ 2240(bellman_ford)
    POJ 1797(dijkstra)
    【转载】POJ 图论题目列表
    POJ 1502(Floyd)
  • 原文地址:https://www.cnblogs.com/xuyatao/p/8616381.html
Copyright © 2011-2022 走看看