Java認証コード生成ツール

パッケージutilsの。



インポートをjava.awt.Color;
輸入いるjava.awt.font。
輸入java.awt.Graphics2D;
輸入java.awt.image.BufferedImage。
インポートのjava.io.File;
インポートにjava.io.IOException;
輸入java.util.Randomの。

輸入javax.imageio.ImageIO;
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
輸入javax.servlet.http.HttpSession。

パブリック クラスCodeUtils {
     // 得到随机数
    プライベート 静的な 文字[] =チャー"abdefghijkmnpqrstuvwxyABCDEFGHIJKLMNPQRSTUVWXY3456789" .toCharArray();
     プライベート 静的ランダムランダム= 新しい新しいランダム();
     プライベート 静的文字列にgetCode(int型の長さ){ 
        StringBufferのSB = 新しい新;たStringBuffer()
         のためにint型 I = 0; Iは、長さを<。 ++ I ){ 
            sb.append(文字[にRandom.nextInt(chars.length)]); 
        } 
        戻りsb.toStringを(); 
    } 
    
    / * 
     * @ DESCRIPTION:デザインコードとイメージファイルを書き込む
     * / 
    パブリック 静的 ボイドcreateCode(HttpServletRequestのREQ、HttpServletResponseのRESP){
         試み{
             // 1.キャンバス作成し 
            たBufferedImageのBufferedImage = 新しい新しい BufferedImageを(120、34は、BufferedImage.TYPE_INT_RGB);
             // 2は、ブラシ作成 
            のGraphics2DのGraphics2D = bufferedImage.createGraphicsを();
             // 6。背景色を設定し、最初の色は、キャンバス塗装ブラシを設定 
            graphics2d.setColor(新しい新しいカラー(249、250、108 ));
             // 7キャンバス塗装 
            graphics2d.fillRect(0、0、120、34です)。
             // 8.更新ペンの色の 
            graphics2d.setColor(新しいカラー(62、128、27 ))。
            // 9.设置字体 
            graphics2d.setFont(新しいフォント( "ドープクライシス"、Font.PLAIN、40 )); 
            文字列コード =にgetCode(4 )。
            // 12.保存到sesssion中 
            のHttpSessionセッション= req.getSession()。
            session.setAttribute( "コード" 、コード)。
            session.setMaxInactiveInterval( 1000年);
            // 3.写字 
            graphics2d.drawString(コード、25,30 )。
            // 4.收笔
            graphics2d.dispose();
            //サーバに保存5. 
            ImageIO.write(BufferedImageの、 "JPG" ;、resp.getOutputStream())
        } キャッチ(IOExceptionをE){ 
            e.printStackTrace(); 
        } 
    } 
    
    パブリック 静的 ボイドメイン(文字列[]引数)がスロー例外{
         // 1.キャンバスを作成し 
        たBufferedImageのBufferedImage = 新しい新しい(120、34であるのBufferedImage 、BufferedImage.TYPE_INT_RGB);
         // 2は、ブラシ作成 
        のGraphics2DのGraphics2D = )bufferedImage.createGraphicsを(;
         // 6背景色の設定、ペンの色を設定するために、塗装キャンバスで 
        graphics2d.setColor(新新カラー(20 228、123である));
         // 7キャンバス塗装 
        graphics2d.fillRect(0、0、120、34である);
         // 8ペンの色更新 
        graphics2d.setColor(新しい新しいカラー(246、129、50 ) );
         // 9.セットフォント 
        graphics2d.setFont(新新フォント( "ドープクライシス"、Font.PLAIN、40 )); 
        文字列NUMは。にgetCode(4 = );
         // 3.書き込み 
        graphics2d.drawStringを(NUM、25,30 );
         // 4.ペンコレクション
        graphics2d.dispose();
         // 5.ハードディスクに保存されて 
        ImageIO.write(BufferedImageの、 "JPG"、新新:( "\\ abc.jpg C"のファイル;))
    } 
    // サーバに保存されて11 
}

 

おすすめ

転載: www.cnblogs.com/wxldlxt/p/11310978.html