In letzter Zeit gab es viele Artikel über Java Image -Überprüfungscodes, die allen geholfen haben, die Technologie für die Generierung von Java -Verifizierungscode zu beherrschen. Das Folgende ist ein einfachster Weg, um Java -Bildüberprüfungscodes für Ihre Referenz zu generieren.
Heutzutage berücksichtigen alle Branchen die Maschinenregistrierung beim Anpassen von Systemen. Der effektivste Weg ist es, die Überprüfung einzugeben. Es gibt jetzt viele Möglichkeiten zu überprüfen:
1. Die Problemüberprüfung ist tatsächlich auch Bildüberprüfung. Erstellen Sie eine Frage auf dem Bild und geben Sie dann das Feld ein, um die Antwort einzugeben.
2. Bildüberprüfung geben Sie die auf dem Bild angezeigten Textinformationen ein.
3. Die Überprüfung der SMS ist ziemlich kompliziert und Benutzer mögen es nicht sehr.
4. Es gibt auch Baidus neueste Überprüfungsmethode. Der Text wird im Bild generiert, und ein Textklickfeld wird angezeigt, um den Text auszuwählen, den Sie im Bild des Überprüfungsbildes sehen.
Lassen Sie uns nun den Code für Java zum Generieren von Verifizierungscode teilen, der ein grundlegender Code ist. Es kann direkt im Lernen verwendet werden. Wenn Sie eine komplexere Überprüfung benötigen, können Sie selbst eine logische Überprüfung hinzufügen.
@ControllerPublic -Klasse ImgverifyCode erweitert httpServlet { / ** * * / private statische endgültige long serialversionuid = 1l; /*** Breite des Verifizierungscodebildes. */ private int width = 70; /*** Die Höhe des Verifizierungscodebildes. */ private int Höhe = 30; / *** Anzahl der Verifizierungscodezeichen*/ private int codeCount = 5; / ** * xx */ privat int xx = 0; / *** Schrifthöhe*/ privat int fontheight; / ** * cody */ privat int codey; / ** * codesquence */ string [] codesequence = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "A", "B", "B", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C" , "D", "D", "E", "E", "F", "F", "G", "Z", "X", "Q", "V"}; / *** Initialisieren Sie die Überprüfungsbildattribute*/ public void init () löscht ServleTException {// Erste Informationen von web.xml // Breite String strWidth = width+""; // Höhe String strHeight = Höhe+""; // Anzahl der Zeichen String StrCodeCount = CodeCount+""; // Die konfigurierten Informationen in einen numerischen Versuch konvertieren {if (strWidth! = Null && strwidth.length ()! = 0) {width = integer.parseInt (strWidth); } if (strHeight! = null && strHeight.length ()! } if (strCodeCount! = null && strCodeCount.length ()! }} catch (numberFormatexception e) {e.printstacktrace (); } xx = width / (CodeCount + 2); // der horizontale Abstand der Erzeugung zufälliger Zahlen fontHeight = Höhe - 12; // die numerische Höhe der Erzeugung von Zufallszahlen CODEY = Höhe - 8; // Der vertikale Abstand der Erzeugung von zufälligen Zahlen} Protected String -Bilder (httpServletRequest req, httpServletResponse resp) löscht ServletException, ioException {init (); // Bildpuffer BufferedImage Buffimg = new bufferedImage (Breite, Höhe, bufferedimage.type_int_rgb); Graphics2d GD = buffimg.CreateGraphics (); // Bildpuffer BufferedImage Buffimg = new bufferedImage (Breite, Höhe, bufferedimage.type_int_rgb); Graphics2d GD = buffimg.CreateGraphics (); // Bildpuffer BufferedImage Buffimg = new bufferedImage (Breite, Höhe, bufferedimage.type_int_rgb); Graphics2d GD = buffimg.CreateGraphics (); // Erstellen Sie eine zufällige Zahlengeneratorklasse Random Random = New Random (); // das Bild als weiße Gd.setColor (color.white) füllen; Gd.FillRect (0, 0, Breite, Höhe); // Erstellen Sie eine Schriftart, die Größe der Schrift sollte gemäß der Höhe des Bildes bestimmt werden. Schriftart = neuer Schrift ("FixedSys", font.plain, fonttheight); // Setzen Sie die Schriftart. gd.setfont (Schriftart); // Grenzen zeichnen. gd.setColor (color.black); Gd.Drawrect (0, 0, Breite - 1, Höhe - 1); // generiert zufällig 4 Interferenzzeilen, wodurch der Authentifizierungscode im Bild weniger wahrscheinlich von anderen Programmen erkannt wird. gd.setColor (color.black); für (int i = 0; i <4; i ++) {int x = random.nextint (width); int y = random.nextint (Höhe); int xl = random.nextint (12); int yl = random.nextint (12); gd.drawline (x, y, x + xl, y + yl); } // RandomCode wird verwendet, um zufällig generierte Verifizierungscodes zu speichern, damit Benutzer nach der Anmeldung. StringBuffer randomCode = new StringBuffer () überprüfen können; int rot = 0, grün = 0, blau = 0; // generiert zufällig einen Verifizierungscode der CodeCount -Nummer. für (int i = 0; i <CodeCount; i ++) {// Erhalten Sie die zufällig generierte Verifizierungscodenummer. String strrand = string.ValueOf (codesquence [random.Nextint (27)]); // Erzeugen Sie zufällige Farbkomponenten, um den Farbwert zu konstruieren, damit der Farbwert jeder Ziffernausgabe unterschiedlich ist. rot = random.nextint (125); grün = random.nextint (255); Blue = Random.Nextint (200); // Verwenden Sie die zufällig generierte Farbe, um den Verifizierungscode in das Bild zu zeichnen. gd.setColor (neue Farbe (rot, grün, blau); gd.drawstring (Strrand, (i + 1) * xx, codey); // Kombinieren Sie die erzeugten vier zufälligen Zahlen miteinander. randomCode.append (Strrand); } // Speichern Sie den vierstelligen Überprüfungscode in der Sitzung. HttpSession Session = req.getSession (); Session.SetAttribute ("validateCode", randomCode.toString ()); // Image -Cache ist verboten. resp.setheader ("pragma", "no-cache"); resp.setheader ("cache-control", "no-cache"); resp.setdatheader ("läuft", 0); resp.setContentType ("Bild/jpeg"); // Ausgabe des Bildes in den Servlet -Ausgangsstrom ausgeben. ServLetOutputStream SOS = resp.getOutputStream (); Imageio.Write (Buffimg, "JPEG", SOS); sos.close (); null zurückkehren; }}Dieser Code ist die grundlegende Methode zum Generieren von Überprüfungsbildern.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein. Sie können auch den vorherigen Artikel für eingehende Studien überprüfen.