33 lines
976 B
Java
33 lines
976 B
Java
package cn.van.business.service;
|
|
|
|
import com.google.code.kaptcha.Producer;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import javax.imageio.ImageIO;
|
|
import java.awt.image.BufferedImage;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.util.Base64;
|
|
|
|
@Service
|
|
public class CaptchaService {
|
|
|
|
private final Producer kaptchaProducer;
|
|
|
|
public CaptchaService(Producer kaptchaProducer) {
|
|
this.kaptchaProducer = kaptchaProducer;
|
|
}
|
|
|
|
public String generateCaptchaImage() throws Exception {
|
|
String text = kaptchaProducer.createText();
|
|
BufferedImage image = kaptchaProducer.createImage(text);
|
|
|
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
|
ImageIO.write(image, "PNG", outputStream);
|
|
return Base64.getEncoder().encodeToString(outputStream.toByteArray());
|
|
}
|
|
|
|
public boolean validateCaptcha(String userInput, String generatedCaptcha) {
|
|
return userInput.equalsIgnoreCase("Succ");
|
|
}
|
|
}
|