亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                java驗證碼代碼_JAVA生成驗證碼代碼

                1 /**

                2 * 生成驗證碼3 * 改造生成驗證碼的方式,將圖片base64形式傳到前臺,而不是直接傳驗證碼到前臺4 *@return

                5 *@throwsIOException6 */

                7 public void imageCode() throwsIOException {8 HttpServletResponse resp =CommandContext.getResponse();9 HttpServletRequest req =CommandContext.getRequest();10 String method=req.getMethod();11 if(“OPTIONS”.equals(method)){12 return;13 }14 Map map=newHashMap();15

                16 //在內(nèi)存中創(chuàng)建圖象

                17 int width = 65, height = 38;18 BufferedImage image = newBufferedImage(width, height,19 BufferedImage.TYPE_INT_RGB);20 //獲取圖形上下文

                21 Graphics g =image.getGraphics();22 //生成隨機類

                23 Random random = newRandom();24 //設(shè)定背景色

                25 g.setColor(getRandColor(230, 255));26 g.fillRect(0, 0, 100, 40);27 //設(shè)定字體

                28 g.setFont(new Font(“Arial”, Font.CENTER_BASELINE | Font.ITALIC, 20));29 //產(chǎn)生0條干擾線,

                30 g.drawLine(0, 0, 0, 0);31

                32 //存放驗證碼

                33 StringBuffer sRand = newStringBuffer();34 for (int i = 0; i < charCount; i++) {35 String singleCode =String.valueOf(codeSequence[random.nextInt(codeSequence.length)]);36 sRand.append(singleCode);37 //將認證碼顯示到圖象中

                38 g.setColor(getRandColor(100, 150));//調(diào)用函數(shù)出來的顏色相同,可能是因為種子太接近,所以只能直接生成

                39 g.drawString(singleCode, 14 * i + 5, 25);40 }41 for(int i=0;i

                47 HttpSession session =req.getSession();48 //獲取clientid

                49 String clientId=SystemUtil.getClientId(req);50 if(StringUtils.isEmpty(clientId)){51 //生成clientid

                52 String userAgent=req.getHeader(“User-Agent”);53 String sessionId=session.getId();54 String cip=IpPolicy.getClientIP(req);55 clientId=CodeUtil.genClientId(sessionId,cip,userAgent);56 }57 map.put(“clientId”, clientId);58 if(isValidateCodeCaseSensitive) {59 session.setAttribute(“randomCode”, sRand.toString());60 SystemUtil.push2Cache(clientId, sRand.toString());61 } else{62 session.setAttribute(“randomCode”, sRand.toString().toLowerCase());63 SystemUtil.push2Cache(clientId, sRand.toString().toLowerCase());64 }65 //圖象生效

                66 g.dispose();67 try{68

                69 ByteArrayOutputStream outputStream = newByteArrayOutputStream();70 ImageIO.write(image, “jpg”, outputStream);71 BASE64Encoder encoder = newBASE64Encoder();72 String base64Img =encoder.encode(outputStream.toByteArray());73 base64Img=”data:image/jpg;base64, “+base64Img.replaceAll(“”, “”).replaceAll(“r”, “”);//刪除 r;

                74 map.put(“verCode”, base64Img);75 Object jsonObj =JSONSerializer.toJSON(map);76 byte[] json = jsonObj.toString().getBytes(“UTF-8”);77 resp.setContentType(“text/plain;chartset=utf-8”);78 resp.setHeader(“Cache-Control”, “no-cache”);79 resp.setHeader(“Expires”, “0”);80 resp.setIntHeader(“Content-Length”, json.length);81 ServletOutputStream responseOutputStream =resp.getOutputStream();82 responseOutputStream.write(json);83 //以下關(guān)閉輸入流!

                84 responseOutputStream.flush();85 responseOutputStream.close();86 //獲得頁面key值

                87 return;88 } catch(IOException e) {89 logger.error(“生產(chǎn)驗證碼出錯”,e);90 throw new SystemException(“生產(chǎn)驗證碼出錯”,e);91 }92 }93

                94

                95 /**

                96 * 給定范圍獲得隨機顏色97 *98 *@paramfc99 *@parambc100 *@return

                101 */

                102 Color getRandColor(int fc, intbc) {103 Random random = newRandom();104 if (fc > 255)105 fc = 255;106 if (bc > 255)107 bc = 255;108 int r = fc + random.nextInt(bc -fc);109 int g = fc + random.nextInt(bc -fc);110 int b = fc + random.nextInt(bc -fc);111 return newColor(r, g, b);112 }

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年7月4日 21:15
                下一篇 2022年7月4日 21:15

                相關(guān)推薦

                • 筆記本最好配置(目前筆記本最好的配置)

                  本文主要講的是筆記本最好配置,以及和目前筆記本最好的配置相關(guān)的知識,如果覺得本文對您有所幫助,不要忘了將本文分享給朋友。 筆記本電腦什么配置好? 01 CPU:這個主要取決于頻率和…

                  2022年11月26日
                • 淘寶直播平臺抽成多少(淘寶直播平臺抽成比例)

                  隨著時代的發(fā)展,現(xiàn)在直播帶貨已經(jīng)成為主要帶貨方式,其中淘寶是主流帶貨平臺,不少人在上面直播帶貨賺錢,一些小伙伴也想加入,那么淘寶直播平臺抽成多少?下面小編為大家?guī)硖詫氈辈テ脚_抽成…

                  2022年11月24日
                • 白襯衫搭配什么褲子好看,女生襯衫穿法圖片

                  說起白襯衫和長褲的搭配組合,不知道大家有沒有發(fā)現(xiàn),雖然是很常見的造型,可不同年齡段慣用的穿搭方式卻不相同,從而也穿出了不同的味道。簡直是現(xiàn)在這個季節(jié),時髦精們的必備造型之一~ 70…

                  2022年11月24日
                • 神舟戰(zhàn)神S7-DA5NS電腦預(yù)售 到手價僅需5399元

                  神舟戰(zhàn)神S7-DA5NS正在京東商城預(yù)售搶購,預(yù)售到手價僅需5399元。其搭載了全新12代i5-12450H處理器,擁有2.0GHz八核十二線程效能,RTX3050 4G GDDR…

                  2022年11月23日
                • 中興Axon 40 Ultra航天版發(fā)布時間官宣 或有18G+1TB版

                  此前,中興手機官微曾預(yù)熱中興Axon 40 Ultra航天版。宣傳海報顯示,“太空堡壘,即將起航,TAIKONAUT(中國航天員) Ⅱ”。 2022年11月22日,中興手機發(fā)布消息…

                  2022年11月22日
                • 天璣1300和8100哪個好差距大嗎 跑分性能參數(shù)區(qū)別對比

                  天璣1300和天璣8100哪個好?近期有用戶在咨詢,手機處理器搭載的是天璣1300的好還是天璣8100的好?這兩款處理器之間哪一款更加出色呢?下面小編給大家?guī)砭唧w區(qū)別對比,感興趣…

                  2022年11月22日
                • 鬼的圖片(鬼的圖片 頭像)

                  今天小編給各位分享鬼的圖片的知識,其中也會對鬼的圖片 頭像進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧! 鬼長什么樣子呀?(發(fā)圖片來) 鬼很可怕的,要裁圖片…

                  2022年11月22日
                • word方框中打√符號教程 打鉤符號怎么打出來框怎么點擊就打上

                  Word怎么在方框中打√符號?最近有用戶詢問這個問題,Word是一款很實用的辦公軟件,在編輯的時候需要輸入方框帶個√的符號,很多用戶不知道怎么輸入,針對這一問題,本篇帶來了詳細的輸…

                  2022年11月21日
                • 馬斯克凌晨一點半曬“代碼審查”現(xiàn)場,編排他的段子比瘋狂星期四還多

                  夢晨 Pine 發(fā)自 凹非寺 量子位 | 公眾號 QbitAI 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 每一個真正會寫代碼的人,請在下午2點到總部10層報到。 馬斯…

                  2022年11月21日
                • 展字的各種寫法圖片(展筆順什么意思)

                  昨天我們講解了上展下收,今天我們講解上收下展,看過昨天文章內(nèi)容的朋友,對今天所講的內(nèi)容應(yīng)該不難理解。 結(jié)構(gòu)八:上收下展。 簡單來說就是上邊部分的筆畫收縮,下邊部分筆畫舒展。詳細講解…

                  2022年11月19日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息