Module bus.extra

Class PuzzleProvider

java.lang.Object
org.miaixz.bus.extra.captcha.AbstractProvider
org.miaixz.bus.extra.captcha.provider.PuzzleProvider
All Implemented Interfaces:
Serializable, org.miaixz.bus.core.Provider, CaptchaProvider

public class PuzzleProvider extends AbstractProvider
Sliding CAPTCHA Provider.
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Constructor Details

    • PuzzleProvider

      public PuzzleProvider(int width, int height, int codeCount, int interfereCount)
      Constructor.
      Parameters:
      width - Image width.
      height - Image height.
      codeCount - Number of characters.
      interfereCount - Number of interfering elements.
    • PuzzleProvider

      public PuzzleProvider(int width, int height, CodeStrategy generator, int interfereCount)
      Constructor.
      Parameters:
      width - Image width.
      height - Image height.
      generator - CAPTCHA code generator.
      interfereCount - Number of interfering elements.
  • Method Details

    • createImage

      protected Image createImage(String code)
      Creates the CAPTCHA image.
      Specified by:
      createImage in class AbstractProvider
      Parameters:
      code - The CAPTCHA code to be rendered in the image.
      Returns:
      The generated CAPTCHA image.
    • get

      public String get()
      Gets the CAPTCHA code or related data.
      Specified by:
      get in interface CaptchaProvider
      Overrides:
      get in class AbstractProvider
      Returns:
      A string representing the CAPTCHA data to be verified.
    • verify

      public boolean verify(String inputCode)
      Verifies the user's input against the generated CAPTCHA.
      Specified by:
      verify in interface CaptchaProvider
      Overrides:
      verify in class AbstractProvider
      Parameters:
      inputCode - The code provided by the user.
      Returns:
      true if the verification is successful, false otherwise.