即興的靈感

          思維是一種藝術; 藝術需要靈感。

          博客好友

          最新評論

          JSP驗證碼大全之中文驗證碼(源碼)

          ??? 在上一篇內容中介紹了有關JSP中產生數字驗證碼圖片的過程,本文將繼續介紹有關JSP中的另一種驗證碼的實現,即中文驗證碼在JSP中的實現,使用中文驗證碼的好處是能提高驗證的有效性,提高驗證的安全度,因為中文相對于英文或數字筆畫結構相對比較復雜,從而增加了分析程序解析驗證碼圖片并讀取驗證信息的難度。在文中并分析中文驗證的實現過程。
          ???二、JSP中實現中文驗證碼源碼如下:

          ChineseVal.jsp

          <%@ page? pageEncoding = "gb2312" contentType="image/jpeg" import = "javax.imageio.*,java.util.*,java.awt.image.*,java.awt.*" %>

          <%!

          ??? //在此處 獲取并生成隨機顏色

          ??? Color getRandColor(Random random, int ff, int cc) {

          ?????? if (ff > 255)

          ?????????? ff = 255;

          ?????? if (cc > 255)

          ?????????? cc = 255;

          ?????? int r = ff + random.nextInt(cc - ff);

          ?????? int g = ff + random.nextInt(cc - ff);

          ?????? int b = ff + random.nextInt(cc - ff);

          ?????? return new Color(r, g, b);

          ??? } %>

          <%

          ??? //在此處 設置JSP頁面無緩存

          ??? response.setHeader( "Pragma" , "No-cache" );

          ??? response.setHeader( "Cache-Control" , "no-cache" );

          ??? response.setDateHeader( "Expires" , 0);

          ??? // 設置圖片的長寬

          ??? int width = 130;
          ????int?height = 30;

          ??? //設定被隨機選取的中文字,此處中文字內容過多,不一一列出,只是舉例說明下。
          ??? String base = "\u9752\u534a\u706b\u6cd5\u9898\u5efa\u8d76\u4f4d\u5531\u6d77\u4e03\u5973\u4efb\u4ef6\u611f\u51c6\u97f3\u7b54\u54e5\u9645\u65e7\u795e\u5ea7\u7ae0\u538b\u6162\u53d4\u80cc\u7ec6...省略文字。。。" ;

          ??? //設置 備選隨機漢字的個數

          ??? int length = base.length();

          ??? // 創建緩存圖像

          ??? BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

          ??? // 獲取圖像
          ??? Graphics g = image.getGraphics();

          ??? // 創建隨機函數的實例

          ??? Random random = new Random();

          ??? //此處 設定圖像背景色

          ??? g.setColor(getRandColor(random, 188, 235));

          ??? g.fillRect(0, 0, width, height);

          ??? //設置隨機 備選的字體類型

          ??? String[] fontTypes = { "\u5b8b\u4f53" , "\u65b0\u5b8b\u4f53" ,

          ?????????? "\u9ed1\u4f53" , "\u6977\u4f53" , "\u96b6\u4e66" };

          ??? int fontTypesLength = fontTypes.length;

          ??? // 在圖片背景上增加噪點,增加圖片分析難度

          ??? g.setColor(getRandColor(random, 180, 199));

          ??? g.setFont( new Font( "Times New Roman" , Font.PLAIN, 14));

          ??? for ( int i = 0; i < 4; i++) {

          ?????? g.drawString( "@*@*@*@*@*@*@*" ,

          ?????? 0, 5 * (i + 2));

          ??? }

          ??? // 取隨機產生的驗證碼 (4 個漢字 )

          ??? // 保存生成的漢字字符串

          ??? String sRand = "" ;

          ??? for ( int i = 0; i < 4; i++) {

          ?????? int start = random.nextInt(length);

          ?????? String rand = base.substring(start, start + 1);

          ?????? sRand += rand;

          ?????? // 設置圖片上字體的顏色

          ?????? g.setColor(getRandColor(random, 10, 150));

          ?????? // 設置字體格式

          ?????? g.setFont( new Font(fontTypes[random.nextInt(fontTypesLength)],

          ?????? Font.BOLD, 18 + random.nextInt(6)));

          ?????? // 將此漢字畫到驗證圖片上面

          ?????? g.drawString(rand, 24 * i + 10 + random.nextInt(8), 24);

          ??? }

          ??? // 將驗證碼存入S ession中

          ??? session.setAttribute( "rand" , sRand);

          ??? g.dispose();

          ??? //將 圖象輸出到JSP頁面中

          ??? ImageIO.write(image, "JPEG" , response.getOutputStream());

          ??? //關閉流

          ??? out.clear();

          ??? out=pageContext.pushBody();??

          %>

          ???以上就是JSP中產生中文驗證碼過程的源碼分析,由中文作為驗證碼存在于JSP頁面中,將會存在JSP中文亂碼的現象,接下來文章將介紹如何調用JSP驗證碼和使用的方法,以及如何解決JSP中文驗證碼亂碼問題和其他JAVA驗證碼的實現。
          ???下文將介紹有關JSP中文驗證碼的亂碼問題解決方法以及JSP中調用以上兩種驗證碼的方法。


          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
          ???? 隱姓埋名/低調華麗/簡單生活/完美人生

          posted on 2008-11-29 01:57 poetguo 閱讀(28624) 評論(50)  編輯  收藏 所屬分類: JSPJAVA

          評論

          # re: JSP驗證碼之中文驗證碼(源碼) 2008-11-29 02:05 即興詩人

          以上JSP驗證碼代碼中的中文字由于比較多因此做了省略,如果有需要這添加上去就可以了,或者留下您的郵箱我將完整代碼CC一份過去哈。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-11-29 02:18 即興詩人

          中文驗證碼還用的不多,但是還是很有意思的。。。。特別是在中國風的網站跟論壇上面哈。。。。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-11-29 12:06 逝水fox

          多謝博主 一直因為驗證碼顯示中文亂碼發愁 終于找到原因了  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-11-29 19:26 swallow

          hanswallow@163.com
          期待博主聯系小弟,小弟一初學的愛好者,有些問題請教。。。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-11-29 21:27 即興詩人

          已經將JSP中文驗證碼發過去你email了。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-12-01 10:39 fengfantasy

          小弟也是一JAVA初學者
          希望博主能聯系下
          fengfantas@126.com

          謝謝!!!
            回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2008-12-01 13:13 bill

          請問能否把你的驗證碼的例子發給我啊?是否能增加個刷新驗證碼的功能啊?
          shoppingbill@gmail.com
          謝謝!  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-12-01 13:25 即興詩人

          驗證碼刷新跟使用在下一篇文章中《JSP驗證碼大全之驗證碼使用與亂碼解決》中有介紹。。。。。   回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-12-01 13:28 即興詩人

          樓上fengfantasy 的郵箱是否少了一個“y”哦???fengfantas@126.com
          還是故意的??哈  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-12-04 10:27 wangrui

          能否發下這個的原碼給我

          wangrui956@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2008-12-04 16:33 即興詩人

          @wangrui
          已經發送到你郵箱了。。。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-01-18 11:03 sss

          xx  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-01-18 11:05 MaxP

          即興詩人
          太牛了,非常感謝LZ分享,好好學習,高手

          能不能把這個中文源碼和JSP驗證碼Servlet實現的代碼也給我一份呀,謝謝LZ了
          webpcdodo@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-02-18 20:30 fengfantasy

          2008-12-01 13:28 by 即興詩人
          樓上fengfantasy 的郵箱是否少了一個“y”哦???fengfantas@126.com
          還是故意的??哈


          呵呵

          的確 漏了

          并非故意。。。  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-03-04 11:00 wonflay

          不錯 給我發一份 wonflay@163.com 謝謝了  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2009-03-09 11:54 ws

          希望樓主也可以發我一份,包括上個驗證碼的調用和這個的調用 代碼,謝謝了啊 ,shuaiwang1234@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-03-09 12:22 即興詩人

          有關驗證碼的調用方法在《調用JSP驗證碼和使用的方法》中介紹。。。。   回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-05-16 19:24 剩飯團

          希望可以發一份給我:
          zerodyc@yahoo.com.cn 謝謝~~  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-05-21 14:30 江哥

          樓主也給我發一份吧 sendtozhoujiang@yeah.net  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-07-04 11:41 hl

          中文驗證碼產生符號怎么處理?比如會出來一個句號什么的 如何保證出來的全部是中文?/


          也希望樓主發一份源碼及調用 謝謝
          hl1989@tom.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-07-04 11:45 hl

          符號問題已經解決。。

          請問如何增加中文驗證碼中字數的種類和控制實效時間?  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-07-13 01:21 marquee

          能否發下這個的原碼給我
          marqueevip@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-07-23 09:54 五力

          wangli198308@126.com
          中文驗證碼!  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-08-03 22:56 qw

          樓主大人 給小弟也發一份唄
          萬分感謝
          fuzhiguo12@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-10-17 16:58 張國寧

          zhangguoning108@163.com 樓主 發我一份。萬分感謝!  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2009-11-09 22:01 nanking

          zxdlv@163.com請前輩發一份完整的給我,謝謝!  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2010-04-05 23:22 mangkata

          @即興詩人
          樓主能不能把數字、字母、漢字一起結合起來呢?這是我的郵箱:mangkata@sina.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2010-05-28 01:14 HInk

          請前輩發一份完整的給我(數字、字母、漢字)包含驗證頁面,謝謝!dengli18@vip.qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2011-06-01 15:01 擇業玩家

          好東西啊,能把源碼發給我嗎?yangfei-yang@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2011-07-13 10:21 Archy

          filafs_lee@126.com
          謝了!~@即興詩人
            回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2011-10-17 12:12 祝延玲

          樓主,借鑒一下你的驗證碼源碼!我的郵箱:zhu_yanling@sina.cn
          萬分感謝!  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2011-10-23 21:02 來回

          我也要一份代碼 謝謝了!~@即興詩人
          郵箱是zhangdi0226@163.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2012-02-29 10:03 Spring

          求源碼,郵箱752133173@qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2012-05-13 12:59 米子

          用皕應的HCaptcha吧,很專業,支持所有語言 http://www.hinsite.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2012-05-15 20:22 yh

          博主給一個中文的驗證碼吧 謝謝
          郵箱:992406047@qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2012-05-16 12:37 神舟100號

          @yh
          皕應支持中文驗證碼 你可以試試 http:/www.hinsite.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2012-06-09 17:48 安林

          @qw
          也幫我發一fan,拜托
            回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2012-08-17 09:55 將軍

          博主 求源碼 362440326@qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2012-09-16 20:47 冷戰


          @神舟100號 謝謝推薦,皕應的HCaptcha確實專業,我們搞的投票用了后 問題怎解決了,謝謝  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2012-10-18 16:39 邂逅

          求源碼,644143964@qq.com謝謝  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2013-04-26 10:16 牛B轟轟

          我也想要 535217937@qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2013-12-20 11:47 大陳小愛

          能把完整的代碼發個我一份嗎?最好有刷新功能的,最近在學,老師馬上要檢查了,越快越好,謝謝!1127340549@qq.com  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2014-02-08 12:21 舒翔

          大聲道  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2014-02-14 18:02 掙碼網

          掙碼遠程代答系統
          1、掙碼是一個高性能,高穩定的遠程代答題,全自動驗證碼識別平臺,為您的軟件、平臺、網站,提供智能化高速穩定的代答題驗證碼識別服務。
          2、您只需要將您的軟件整合進掙碼端API,我們將在最短時間內將您的題目驗證碼圖片答案等返回給您,您無需再單獨的去實現復雜的驗證碼識別方案。
          www.zhengma.com
            回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼)[未登錄] 2014-05-21 19:53 阿偉

          @即興詩人
            回復  更多評論   

          # re: JSP驗的符合法定證碼大全之中文驗證碼(源碼) 2014-07-09 13:16 返回

          煩得很發  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2014-11-08 20:32 坤坤

          前輩,請您發給我一份好么,我扣扣1058311897  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2015-07-18 16:40 聶云楊

          玩逆戰  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2015-09-28 10:05 劉國慶

          密碼背后無法為哦今晚發貨  回復  更多評論   

          # re: JSP驗證碼大全之中文驗證碼(源碼) 2016-07-05 16:29 水中游樂

          找回我的QQ密碼  回復  更多評論   

          主站蜘蛛池模板: 酒泉市| 和林格尔县| 德钦县| 长春市| 孟村| 黎平县| 延津县| 霸州市| 泌阳县| 雅江县| 环江| 西青区| 大港区| 广灵县| 伊金霍洛旗| 博白县| 独山县| 江北区| 扶沟县| 敦化市| 弥勒县| 诸城市| 盐山县| 达孜县| 青冈县| 江城| 桐梓县| 讷河市| 邹平县| 承德市| 广安市| 彩票| 金溪县| 武山县| 台山市| 云和县| 稻城县| 南木林县| 怀仁县| 行唐县| 万盛区|