[Java tatsächlicher Kampf] Verwenden Sie kaptcha + base64, um Bestätigungscodes zu implementieren und Ihre Website sicherer zu machen!

  • Im heutigen Internetzeitalter sind Verifizierungscodes zu einem wichtigen Mittel zum Schutz der Website-Sicherheit und zur Verhinderung von Roboterangriffen geworden. In der Java-Entwicklung können die Generierung und Verifizierung von Verifizierungscodes mithilfe der Kaptcha- und Base64-Technologien einfach realisiert werden. In diesem Artikel wird detailliert beschrieben, wie Kaptcha und Base64 zum Implementieren von Bestätigungscodes verwendet werden.

    1. Was ist Kaptcha?

    kaptcha ist ein Java-Verifizierungscodegenerator, der gängige Verifizierungscodebilder wie Zahlen, Buchstaben, Arithmetik usw. generieren kann. Die von kaptcha generierten Bestätigungscodebilder können Größe, Schriftart, Farbe und andere Attribute anpassen und unterstützen auch die Generierung chinesischer Bestätigungscodes.

    2. Was ist Base64?

    Base64 ist eine Kodierungsmethode, die Binärdaten zur einfachen Übertragung im Netzwerk in ein Textformat umwandelt. Das Base64-kodierte Textformat enthält nur ASCII-Zeichen und kann daher sicher über das Netzwerk übertragen werden.

    3. Verwendung von Kaptcha und Base64 zur Implementierung des Bestätigungscodes

    1. Kaptcha-Abhängigkeit hinzufügen

    Fügen Sie der pom.xml-Datei die folgenden Abhängigkeiten hinzu:

    <dependency>
        <groupId>com.github.penggle</groupId>
        <artifactId>kaptcha</artifactId>
        <version>2.3.2</version>
    </dependency>
    
    1. Generieren Sie einen Bestätigungscode

    Verwenden Sie kaptcha, um ein Bestätigungscode-Bild zu generieren und das Bestätigungscode-Bild in ein Base64-codiertes Textformat zu konvertieren. Das Folgende ist ein Beispiel für Java-Code zum Generieren eines Bestätigungscodes:

    // 创建kaptcha对象
    DefaultKaptcha kaptcha = new DefaultKaptcha();
    
    // 设置kaptcha属性
    Properties properties = new Properties();
    properties.setProperty("kaptcha.border", "no");
    properties.setProperty("kaptcha.textproducer.font.color", "black");
    properties.setProperty("kaptcha.image.width", "150");
    properties.setProperty("kaptcha.image.height", "50");
    kaptcha.setConfig(new Config(properties));
    
    // 生成验证码
    String text = kaptcha.createText();
    BufferedImage image = kaptcha.createImage(text);
    
    // 将验证码图片转换成base64编码的文本格式
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(image, "jpg", baos);
    String base64Image = Base64.getEncoder().encodeToString(baos.toByteArray());
    
    1. Zeigen Sie den Bestätigungscode auf der Webseite an

    Verwenden Sie das img-Tag auf der Webseite, um das generierte Bestätigungscodebild anzuzeigen, und verwenden Sie das Base64-codierte Textformat als Wert des src-Attributs. Das Folgende ist ein Beispiel für HTML-Code zum Anzeigen eines Captchas auf einer Webseite:

    <img src="data:image/jpeg;base64,${base64Image}" />
    
    1. Überprüfen Sie den vom Benutzer eingegebenen Bestätigungscode

    Vergleichen Sie den vom Benutzer eingegebenen Bestätigungscode mit dem generierten Bestätigungscode, um festzustellen, ob der vom Benutzer eingegebene Bestätigungscode korrekt ist. Das Folgende ist ein Beispiel für Java-Code, der ein von einem Benutzer eingegebenes Captcha validiert:

    // 获取用户输入的验证码
    String userInput = request.getParameter("captcha");
    
    // 获取生成的验证码
    String captcha = (String) request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
    
    // 比较用户输入的验证码和生成的验证码
    if (userInput != null && captcha != null && userInput.equalsIgnoreCase(captcha)) {
        // 验证码正确
    } else {
        // 验证码错误
    }
    

    Viertens. Zusammenfassung

    Die Generierung und Überprüfung von Captchas kann einfach mit Kaptcha und Base64 erreicht werden. Das generierte Bestätigungscodebild kann Größe, Schriftart, Farbe und andere Attribute anpassen und unterstützt auch die Generierung chinesischer Bestätigungscodes. Durch die Konvertierung des Bestätigungscodebilds in ein Base64-codiertes Textformat kann es bequem auf einer Webseite angezeigt und im Netzwerk übertragen werden.

Supongo que te gusta

Origin blog.csdn.net/m0_49151953/article/details/130252721
Recomendado
Clasificación