<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yxhxj2006

    常用鏈接

    統計

    最新評論

    用java實現驗證碼

    <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
    <%!
    Color getRandColor(int fc,int bc){//給定范圍獲得隨機顏色
      Random random = new Random();
      if(fc>255) fc=255;
      if(bc>255) bc=255;
      int r=fc+random.nextInt(bc-fc);
      int g=fc+random.nextInt(bc-fc);
      int b=fc+random.nextInt(bc-fc);
      return new Color(r,g,b);
      }
    %>
    <%
    //設置頁面不緩存
    response.setHeader("Pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", 0);

    // 在內存中創建圖象
    int width=60, height=20;
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

    // 獲取圖形上下文
    Graphics g = image.getGraphics();

    //生成隨機類
    Random random = new Random();

    // 設定背景色
    g.setColor(getRandColor(200,250));
    g.fillRect(0, 0, width, height);

    //設定字體
    g.setFont(new Font("Times New Roman",Font.PLAIN,18));


    // 隨機產生155條干擾線,使圖象中的認證碼不易被其它程序探測到
    g.setColor(getRandColor(160,200));
    for (int i=0;i<155;i++)
    {
      int x = random.nextInt(width);
      int y = random.nextInt(height);
      int xl = random.nextInt(12);
      int yl = random.nextInt(12);
      g.drawLine(x,y,x+xl,y+yl);
    }

    // 取隨機產生的認證碼(4位數字)

    String codeList = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";

    String sRand="";


    for (int i=0;i<4;i++){
    int a=random.nextInt(codeList.length()-1);
      String rand=codeList.substring(a,a+1);
      sRand+=rand;
      // 將認證碼顯示到圖象中
      g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成
      g.drawString(rand,13*i+6,16);
    }

    // 將認證碼存入SESSION
    session.setAttribute("rand",sRand);

    // 圖象生效
    g.dispose();

    // 輸出圖象到頁面
    ImageIO.write(image, "JPEG", response.getOutputStream());
    out.clear();
    out = pageContext.pushBody();


    %> 

    posted on 2012-11-14 23:34 奮斗成就男人 閱讀(192) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲中文字幕无码av| 久久久久亚洲AV无码专区首| 亚洲看片无码在线视频 | 一级毛片在线播放免费| 国产色婷婷精品免费视频| 亚洲欧美熟妇综合久久久久| 午夜a级成人免费毛片| 亚洲大码熟女在线观看| 日本特黄特色免费大片| 男性gay黄免费网站| 亚洲午夜福利精品无码| 中文字幕免费视频精品一| 久久久青草青青亚洲国产免观| 久久国产精品成人免费| 亚洲黄色在线观看| 无码免费午夜福利片在线 | 中文字幕无码免费久久99| 亚洲日本一线产区和二线| 国产公开免费人成视频| 九九热久久免费视频| 亚洲精品免费视频| 国产精品免费观看久久| 美女裸免费观看网站| 国产亚洲精品成人a v小说| 99久久免费精品视频| 亚洲欧美第一成人网站7777| 亚洲成a人片在线观看久| 永久免费不卡在线观看黄网站| 在线免费观看亚洲| 日韩成人免费视频播放| 一级毛片免费视频网站| 久久久亚洲欧洲日产国码是AV | 亚洲国产精品碰碰| 亚欧日韩毛片在线看免费网站| 亚洲男人天堂2018av| 亚洲熟妇无码AV在线播放| 成人免费大片免费观看网站| 特级毛片免费观看视频| 亚洲黄色三级视频| 亚洲国产成人久久综合碰| 成人浮力影院免费看|