최근 Java 이미지 검증 코드에 관한 많은 기사가 있었으며, 모든 사람들이 Java Verification Code Generation 기술을 마스터 할 수 있도록 도와줍니다. 다음은 참조를 위해 Java 이미지 확인 코드를 생성하는 가장 간단한 방법입니다.
오늘날, 모든 산업은 시스템을 사용자 정의 할 때 기계 등록을 고려할 것입니다. 가장 효과적인 방법은 검증을 입력하는 것입니다. 지금 확인하는 방법에는 여러 가지가 있습니다.
1. 문제 확인은 실제로 이미지 확인입니다. 그림에 질문을 생성 한 다음 상자를 입력하여 답을 입력하십시오.
2. 사진 확인, 그림에 표시된 텍스트 정보를 입력하십시오.
3. SMS 검증은 매우 복잡하며 사용자는 그다지 마음에 들지 않습니다.
4. Baidu의 최신 검증 방법도 있습니다. 텍스트는 그림에서 생성되며 텍스트 클릭 상자는 확인 사진에 표시된 텍스트를 선택하는 것으로 보입니다.
이제 Java가 기본 코드 인 Verification Code를 생성하기위한 코드를 공유해 봅시다. 학습에 직접 사용할 수 있습니다. 더 복잡한 검증이 필요한 경우 논리적 검증을 직접 추가 할 수 있습니다.
@ControllerPublic Class ImgVerifyCode 확장 httpservlet { / ** * * / private static final long serialversionuid = 1L; /*** 검증 코드 이미지의 너비. */ 개인 int 너비 = 70; /*** 검증 코드 사진의 높이. */ 개인 int 높이 = 30; / *** 검증 코드 문자 수*/ private int codecount = 5; / ** * xx */ private int xx = 0; / *** 글꼴 높이*/ 개인 정보; / ** * Codey */ private int codey; / ** * CodeSequence */ String [] CodeSequence = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "A", "B", "B", "C", "C" , "d", "d", "e", "e", "f", "f", "g", "z", "x", "q", "v"}; / *** 확인 이미지 속성 초기화*/ public void init ()가 servletexception {// web.xml // width string strwidth = width+""에서 초기 정보 가져옵니다. // 높이 문자열 stheight = height+""; // 문자 수 문자열 strcodeCount = CodeCount+""; // 구성된 정보를 숫자로 변환하려면 {if (strwidth! = null && strwidth.length ()! = 0) {width = integer.parseint (strwidth); } if (strHeight! = null && stRheight.length ()! = 0) {height = integer.parseint (strheight); } if (strcodecount! = null && strcodecount.length ()! = 0) {codecount = integer.parseint (strcodecount); }} catch (numberformatexception e) {e.printstacktrace (); } xx = 너비 / (CodeCount + 2); // 임의 숫자를 생성하는 수평 거리는 fontheight = height -12; // 랜덤 숫자를 생성하는 숫자 높이 Codey = 높이 -8; // 랜덤 숫자를 생성하는 수직 거리} 보호 된 문자열 이미지 (httpservletrequest req, httpservletResponse resp) servletexception, ioexception {init (); // 이미지 버퍼 bufferedimage buffimg 정의 = 새로운 bufferedImage (너비, 높이, bufferedImage.type_int_rgb); Graphics2d Gd = Buffimg.Creategraphics (); // 이미지 버퍼 bufferedimage buffimg 정의 = 새로운 bufferedImage (너비, 높이, bufferedImage.type_int_rgb); Graphics2d Gd = Buffimg.Creategraphics (); // 이미지 버퍼 bufferedimage buffimg 정의 = 새로운 bufferedImage (너비, 높이, bufferedImage.type_int_rgb); Graphics2d Gd = Buffimg.Creategraphics (); // 임의의 숫자 생성기 클래스 클래스 랜덤 = new random (); // 이미지를 화이트 gd.setColor (color.white)로 채 웁니다. gd.fillRect (0, 0, 너비, 높이); // 글꼴을 만들면 이미지의 높이에 따라 글꼴의 크기를 결정해야합니다. font font = new Font ( "고정식", font.plain, fontheight); // 글꼴을 설정합니다. Gd.SetFont (글꼴); // 경계를 그리십시오. gd.setcolor (color.black); gd.DrawRect (0, 0, 너비 -1, 높이 -1); // 4 개의 간섭 줄을 무작위로 생성하여 이미지의 인증 코드를 다른 프로그램에서 감지 할 가능성이 줄어 듭니다. gd.setcolor (color.black); for (int i = 0; i <4; i ++) {int x = random.nextInt (너비); int y = random.nextInt (높이); int xl = random.nextint (12); int yl = random.nextint (12); gd. drawline (x, y, x + xl, y + yl); } // randomcode는 로그인 한 후 사용자가 확인할 수 있도록 무작위로 생성 된 검증 코드를 저장하는 데 사용됩니다. StringBuffer RandomCode = new StringBuffer (); int red = 0, green = 0, blue = 0; // CodeCount 번호의 확인 코드를 무작위로 생성합니다. for (int i = 0; i <codecount; i ++) {// 무작위로 생성 된 검증 코드 번호를 가져옵니다. 문자열 strrand = string.valueof (codesequence [random.nextint (27)]); // 색상 값을 구성하기 위해 임의의 색상 구성 요소를 생성하여 각 숫자 출력의 색상 값이 다릅니다. red = random.nextint (125); green = random.nextint (255); blue = random.nextint (200); // 무작위로 생성 된 색상을 사용하여 확인 코드를 이미지에 그립니다. Gd.setColor (새 색상 (빨간색, 녹색, 파란색)); Gd.DrawString (strrand, (i + 1) * xx, codey); // 생성 된 4 개의 랜덤 숫자를 함께 결합합니다. randomcode.append (strrand); } // 4 자리 확인 코드를 세션에 저장합니다. httpsession session = req.getSession (); session.setattribute ( "validateCode", randomcode.toString ()); // 이미지 캐시는 금지됩니다. Resp.Setheader ( "Pragma", "No-Cache"); resp.SetHeader ( "캐시 제어", "No-Cache"); resp.setDateHeader ( "만료", 0); resp.setContentType ( "image/jpeg"); // 이미지를 서블릿 출력 스트림에 출력합니다. ServletOutputStream SOS = resp.GetOutputStream (); imageio.write (buffimg, "jpeg", sos); sos.close (); 널 리턴; }}이 코드는 검증 이미지를 생성하는 기본 방법입니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 심도있는 연구는 이전 기사를 확인할 수도 있습니다.