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

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

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

    隨機驗證碼

    隨機驗證碼程序

    import  java.awt.Color;
    import  java.awt.Font;
    import  java.awt.Graphics;
    import  java.awt.image.BufferedImage;
    import  java.io.IOException;
    import  java.util.Random;

    import  javax.servlet.Servlet;
    import  javax.servlet.ServletException;

    import  javax.servlet.http.HttpServlet;
    import  javax.servlet.http.HttpServletRequest;
    import  javax.servlet.http.HttpServletResponse;

    /**
     * 
    @version      1.0
     * 
    @author       baiyf
     
    */

    public   class  ValidateImg  extends  HttpServlet  implements  Servlet  {
        
    public  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);
        }

        
    /**
        * 
    @see  javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
        
    */

        
    public   void  doGet(HttpServletRequest req, HttpServletResponse resp)
            
    throws  ServletException, IOException  {
            doPost(req, resp);
        }


        
    /**
        * 
    @see  javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
        
    */

        
    public   void  doPost(HttpServletRequest req, HttpServletResponse resp)
            
    throws  ServletException, IOException  {
            resp.setHeader(
    " Pragma " " No-cache " );
            resp.setHeader(
    " Cache-Control " " no-cache " );
            resp.setDateHeader(
    " Expires " 0 );

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

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

    //  設定背景色 
            g.setColor(getRandColor( 180 250 ));
            g.fillRect(
    0 0 , width, height);
            
            Random random 
    =   new  Random();    
            
            
    // 生成干擾橢圓    
             for  ( int  i  =   0 ; i  <   5 ; i ++ {
                g.setColor(getRandColor(
    50 100 ));
                
    int  x  =  random.nextInt(width);
                
    int  y  =  random.nextInt(height);
                g.drawOval(x, y, 
    4 4 );
            }


            g.setFont(
    new  Font( "" , Font.PLAIN,  40 ));

            String sRand 
    =   "" ;
            
    for  ( int  i  =   0 ; i  <   4 ; i ++ {
            
    //  取隨機產生的認證碼(4位數字) 
                String rand  =  String.valueOf(random.nextInt( 10 ));
                sRand 
    +=  rand;
            
    //  隨機產生顏色    
                g.setColor(
                    
    new  Color(
                        
    20   +  random.nextInt( 80 ),
                        
    20   +  random.nextInt( 100 ),
                        
    20   +  random.nextInt( 90 )));
            
    //  畫數字
                g.drawString(rand, ( 17   +  random.nextInt( 3 ))  *  i  +   8 34 );

        
    // 生成干擾線
                 for  ( int  k  =   0 ; k  <   12 ; k ++ {
                    
    int  x  =  random.nextInt(width);
                    
    int  y  =  random.nextInt(height);
                    
    int  xl  =  random.nextInt( 9 );
                    
    int  yl  =  random.nextInt( 9 );
                    g.drawLine(x, y, x 
    +  xl, y  +  yl);
                }

            }

            req.getSession().setAttribute(
    " rand " ,sRand);
            g.dispose();
            javax.imageio.ImageIO.write(image, 
    " JPEG " , resp.getOutputStream());

        }

    }

    posted on 2006-06-26 22:02 baim 閱讀(211) 評論(0)  編輯  收藏


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


    網站導航:
     
    <2006年6月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導航

    常用鏈接

    隨筆分類(27)

    隨筆檔案(28)

    搜索

    最新評論

    主站蜘蛛池模板: 九九九国产精品成人免费视频| 亚洲an日韩专区在线| 日本在线观看免费高清| 在线观着免费观看国产黄| 亚洲精品无码少妇30P| 成人毛片18岁女人毛片免费看| 亚洲午夜国产精品| 午夜性色一区二区三区免费不卡视频 | 日韩亚洲综合精品国产| 最新69国产成人精品免费视频动漫| 亚洲欧洲日本精品| 久久久久久久久免费看无码| 亚洲伊人久久大香线蕉AV| 免费看的黄色大片| 精品成人一区二区三区免费视频| va亚洲va日韩不卡在线观看| 亚欧乱色国产精品免费视频| 精品亚洲综合久久中文字幕| 无码免费一区二区三区免费播放| 91精品国产亚洲爽啪在线影院| 亚洲一级免费毛片| 亚洲国产精品99久久久久久| 亚洲男人的天堂在线va拉文| 国精产品一区一区三区免费视频| 久久久无码精品亚洲日韩蜜桃 | 一道本在线免费视频| 亚洲日产韩国一二三四区| 久久久久久国产精品免费无码| 亚洲熟妇色自偷自拍另类| 好爽…又高潮了免费毛片| 成人午夜影视全部免费看| 亚洲春色在线视频| 毛片免费全部播放一级| 欧洲精品码一区二区三区免费看| 久久精品国产精品亚洲艾草网| 暖暖免费日本在线中文| 97久久国产亚洲精品超碰热| 亚洲国产成人精品女人久久久| 无码精品人妻一区二区三区免费看| 狠狠色伊人亚洲综合网站色| 亚洲А∨精品天堂在线|