diff --git a/README.md b/README.md index 2fdff5f..98c74cb 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ spring mvc com.xingyuv captcha-plus - 1.0.1 + 1.0.2 ``` spring boot 2 @@ -23,7 +23,7 @@ spring boot 2 com.xingyuv spring-boot-starter-captcha-plus - 1.0.1 + 1.0.2 ``` spring boot 3 @@ -31,7 +31,7 @@ spring boot 3 com.xingyuv spring-boot-starter-captcha-plus - 1.0.1 + 1.0.2 ``` diff --git a/core/captcha-plus/README.md b/core/captcha-plus/README.md index e4b598f..729644e 100644 --- a/core/captcha-plus/README.md +++ b/core/captcha-plus/README.md @@ -11,7 +11,7 @@ a.引入jar,已上传至maven中央仓库。 com.xingyuv captcha-plus - 1.0.1 + 1.0.2 ``` b.修改application.properties,自定义底图和水印,启动后前端就可以请求接口了。[社区底图库](https://gitee.com/anji-plus/AJ-Captcha-Images) diff --git a/core/captcha-plus/pom.xml b/core/captcha-plus/pom.xml index 497b28c..6324152 100644 --- a/core/captcha-plus/pom.xml +++ b/core/captcha-plus/pom.xml @@ -6,7 +6,7 @@ com.xingyuv captcha-plus - 1.0.1 + 1.0.2 ${project.groupId}:${project.artifactId} captcha-plus.jar diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/model/common/RepCodeEnum.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/model/common/RepCodeEnum.java index 4c212c2..9a3c59a 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/model/common/RepCodeEnum.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/model/common/RepCodeEnum.java @@ -39,8 +39,7 @@ public enum RepCodeEnum { API_REQ_INVALID("6206", "无效请求,请重新获取验证码"), API_REQ_LOCK_GET_ERROR("6202", "接口验证失败数过多,请稍后再试"), API_REQ_LIMIT_CHECK_ERROR("6204", "check接口请求次数超限,请稍后再试!"), - API_REQ_LIMIT_VERIFY_ERROR("6205", "verify请求次数超限!"), - ; + API_REQ_LIMIT_VERIFY_ERROR("6205", "verify请求次数超限!"); private String code; private String desc; diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/AbstractCaptchaService.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/AbstractCaptchaService.java index 236e411..86947bf 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/AbstractCaptchaService.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/AbstractCaptchaService.java @@ -51,7 +51,10 @@ public abstract class AbstractCaptchaService implements CaptchaService { protected static String waterMarkFontStr = "WenQuanZhengHei.ttf"; - protected Font waterMarkFont;//水印字体 + /** + * 水印字体 + */ + protected Font waterMarkFont; protected static String slipOffset = "5"; @@ -59,13 +62,19 @@ public abstract class AbstractCaptchaService implements CaptchaService { protected static String clickWordFontStr = "WenQuanZhengHei.ttf"; - protected Font clickWordFont;//点选文字字体 + /** + * 点选文字字体 + */ + protected Font clickWordFont; protected static String cacheType = "local"; protected static int captchaInterferenceOptions = 0; - //判断应用是否实现了自定义缓存,没有就使用内存 + /** + * 判断应用是否实现了自定义缓存,没有就使用内存 + * @param config config + */ @Override public void init(final Properties config) { //初始化底图 @@ -242,9 +251,10 @@ public static boolean base64StrToImage(String imgStr, String path) { /** * 解密前端坐标aes加密 * - * @param point - * @return - * @throws Exception + * @param point 前端坐标 + * @param key key + * @return 前端坐标aes加密 + * @throws Exception E */ public static String decrypt(String point, String key) throws Exception { return AESUtil.aesDecrypt(point, key); diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/BlockPuzzleCaptchaServiceImpl.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/BlockPuzzleCaptchaServiceImpl.java index cf816d8..f48bba6 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/BlockPuzzleCaptchaServiceImpl.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/BlockPuzzleCaptchaServiceImpl.java @@ -152,8 +152,10 @@ public ResponseModel verification(CaptchaVO captchaVO) { /** * 根据模板切图 - * - * @throws Exception + * @param originalImage originalImage + * @param jigsawImage jigsawImage + * @param jigsawImageBase64 jigsawImageBase64 + * @return CaptchaVO */ public CaptchaVO pictureTemplatesCut(BufferedImage originalImage, BufferedImage jigsawImage, String jigsawImageBase64) { try { @@ -167,7 +169,6 @@ public CaptchaVO pictureTemplatesCut(BufferedImage originalImage, BufferedImage //随机生成拼图坐标 PointVO point = generateJigsawPoint(originalWidth, originalHeight, jigsawWidth, jigsawHeight); int x = point.getX(); - int y = point.getY(); //生成新的拼图图像 BufferedImage newJigsawImage = new BufferedImage(jigsawWidth, jigsawHeight, jigsawImage.getType()); @@ -241,15 +242,13 @@ public CaptchaVO pictureTemplatesCut(BufferedImage originalImage, BufferedImage } } - /** * 随机生成拼图坐标 - * - * @param originalWidth - * @param originalHeight - * @param jigsawWidth - * @param jigsawHeight - * @return + * @param originalWidth originalWidth + * @param originalHeight originalHeight + * @param jigsawWidth jigsawWidth + * @param jigsawHeight jigsawHeight + * @return PointVO */ private static PointVO generateJigsawPoint(int originalWidth, int originalHeight, int jigsawWidth, int jigsawHeight) { Random random = new Random(); @@ -279,7 +278,6 @@ private static PointVO generateJigsawPoint(int originalWidth, int originalHeight * @param newImage 新抠出的小图 * @param x 随机扣取坐标X * @param y 随机扣取坐标y - * @throws Exception */ private static void cutByTemplate(BufferedImage oriImage, BufferedImage templateImage, BufferedImage newImage, int x, int y) { //临时数组遍历用于高斯模糊存周边像素值 @@ -327,7 +325,6 @@ private static void cutByTemplate(BufferedImage oriImage, BufferedImage template * @param templateImage 模板图 * @param x 随机扣取坐标X * @param y 随机扣取坐标y - * @throws Exception */ private static void interferenceByTemplate(BufferedImage oriImage, BufferedImage templateImage, int x, int y) { //临时数组遍历用于高斯模糊存周边像素值 diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaCacheServiceMemImpl.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaCacheServiceMemImpl.java index 6e381f4..5cdd309 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaCacheServiceMemImpl.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaCacheServiceMemImpl.java @@ -12,7 +12,7 @@ * * @author lide1202@hotmail.com * @Title: 默认使用内存当缓存 - * @date 2020-05-12 + * @Date 2020-05-12 */ public class CaptchaCacheServiceMemImpl implements CaptchaCacheService { @Override diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaServiceFactory.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaServiceFactory.java index f662532..6b9f652 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaServiceFactory.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/CaptchaServiceFactory.java @@ -41,8 +41,8 @@ public static CaptchaCacheService getCache(String cacheType) { return cacheService.get(cacheType); } - public volatile static Map instances = new HashMap(); - public volatile static Map cacheService = new HashMap(); + public volatile static Map instances = new HashMap<>(); + public volatile static Map cacheService = new HashMap<>(); static { ServiceLoader cacheServices = ServiceLoader.load(CaptchaCacheService.class); diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/ClickWordCaptchaServiceImpl.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/ClickWordCaptchaServiceImpl.java index b599ec8..c071e97 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/ClickWordCaptchaServiceImpl.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/ClickWordCaptchaServiceImpl.java @@ -78,8 +78,7 @@ public ResponseModel get(CaptchaVO captchaVO) { return ResponseModel.errorMsg(RepCodeEnum.API_CAPTCHA_BASEMAP_NULL); } CaptchaVO imageData = getImageData(bufferedImage); - if (imageData == null - || StringUtils.isBlank(imageData.getOriginalImageBase64())) { + if (StringUtils.isBlank(imageData.getOriginalImageBase64())) { return ResponseModel.errorMsg(RepCodeEnum.API_CAPTCHA_ERROR); } return ResponseModel.successData(imageData); @@ -139,7 +138,7 @@ public ResponseModel check(CaptchaVO captchaVO) { } //校验成功,将信息存入缓存 String secretKey = point.get(0).getSecretKey(); - String value = null; + String value; try { value = AESUtil.aesEncrypt(captchaVO.getToken().concat("---").concat(pointJson), secretKey); } catch (Exception e) { @@ -296,7 +295,7 @@ private Set getRandomWords(int wordCount) { * @param imageHeight 图片高度 * @param wordSortIndex 字体循环排序下标(i) * @param wordCount 字数量 - * @return + * @return PointVO */ private static PointVO randomWordPoint(int imageWidth, int imageHeight, int wordSortIndex, int wordCount) { int avgWidth = imageWidth / (wordCount + 1); diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/FrequencyLimitHandler.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/FrequencyLimitHandler.java index ff455d7..478c2f9 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/FrequencyLimitHandler.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/service/impl/FrequencyLimitHandler.java @@ -21,24 +21,24 @@ public interface FrequencyLimitHandler { /** * get 接口限流 * - * @param captchaVO - * @return + * @param captchaVO captchaVO + * @return ResponseModel */ ResponseModel validateGet(CaptchaVO captchaVO); /** * check接口限流 * - * @param captchaVO - * @return + * @param captchaVO captchaVO + * @return ResponseModel */ ResponseModel validateCheck(CaptchaVO captchaVO); /** * verify接口限流 * - * @param captchaVO - * @return + * @param captchaVO captchaVO + * @return ResponseModel */ ResponseModel validateVerify(CaptchaVO captchaVO); diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/AESUtil.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/AESUtil.java index 03969f1..ecf695b 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/AESUtil.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/AESUtil.java @@ -15,13 +15,15 @@ import java.util.Base64; public class AESUtil { - //算法 + /** + * 算法 + */ private static final String ALGORITHMSTR = "AES/ECB/PKCS5Padding"; /** * 获取随机key * - * @return + * @return 随机key */ public static String getKey() { return RandomUtils.getRandomString(16); @@ -36,7 +38,8 @@ public static String getKey() { * @return 转换后的字符串 */ public static String binary(byte[] bytes, int radix) { - return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数 + // 这里的1代表正数 + return new BigInteger(1, bytes).toString(radix); } /** @@ -46,7 +49,6 @@ public static String binary(byte[] bytes, int radix) { * @return 编码后的base 64 code */ public static String base64Encode(byte[] bytes) { - //return Base64.encodeBase64String(bytes); return Base64.getEncoder().encodeToString(bytes); } @@ -55,7 +57,7 @@ public static String base64Encode(byte[] bytes) { * * @param base64Code 待解码的base 64 code * @return 解码后的byte[] - * @throws Exception + * @throws Exception e */ public static byte[] base64Decode(String base64Code) throws Exception { Base64.Decoder decoder = Base64.getDecoder(); @@ -69,7 +71,7 @@ public static byte[] base64Decode(String base64Code) throws Exception { * @param content 待加密的内容 * @param encryptKey 加密密钥 * @return 加密后的byte[] - * @throws Exception + * @throws Exception e */ public static byte[] aesEncryptToBytes(String content, String encryptKey) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); @@ -87,7 +89,7 @@ public static byte[] aesEncryptToBytes(String content, String encryptKey) throws * @param content 待加密的内容 * @param encryptKey 加密密钥 * @return 加密后的base 64 code - * @throws Exception + * @throws Exception e */ public static String aesEncrypt(String content, String encryptKey) throws Exception { if (StringUtils.isBlank(encryptKey)) { @@ -102,7 +104,7 @@ public static String aesEncrypt(String content, String encryptKey) throws Except * @param encryptBytes 待解密的byte[] * @param decryptKey 解密密钥 * @return 解密后的String - * @throws Exception + * @throws Exception e */ public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); @@ -121,7 +123,7 @@ public static String aesDecryptByBytes(byte[] encryptBytes, String decryptKey) t * @param encryptStr 待解密的base 64 code * @param decryptKey 解密密钥 * @return 解密后的string - * @throws Exception + * @throws Exception e */ public static String aesDecrypt(String encryptStr, String decryptKey) throws Exception { if (StringUtils.isBlank(decryptKey)) { @@ -133,15 +135,15 @@ public static String aesDecrypt(String encryptStr, String decryptKey) throws Exc /** * 测试 */ - public static void main(String[] args) throws Exception { - String randomString = RandomUtils.getRandomString(16); - String content = "hahhahaahhahni"; - System.out.println("加密前:" + content); - System.out.println("加密密钥和解密密钥:" + randomString); - String encrypt = aesEncrypt(content, randomString); - System.out.println("加密后:" + encrypt); - String decrypt = aesDecrypt(encrypt, randomString); - System.out.println("解密后:" + decrypt); - } +// public static void main(String[] args) throws Exception { +// String randomString = RandomUtils.getRandomString(16); +// String content = "hahhahaahhahni"; +// System.out.println("加密前:" + content); +// System.out.println("加密密钥和解密密钥:" + randomString); +// String encrypt = aesEncrypt(content, randomString); +// System.out.println("加密后:" + encrypt); +// String decrypt = aesDecrypt(encrypt, randomString); +// System.out.println("解密后:" + decrypt); +// } } diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/FileCopyUtils.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/FileCopyUtils.java index da9017b..b0e4b63 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/FileCopyUtils.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/FileCopyUtils.java @@ -1,8 +1,4 @@ package com.xingyuv.captcha.util; -// -// Source code recreated from a .class file by IntelliJ IDEA -// (powered by Fernflower decompiler) -// import java.io.*; import java.nio.file.Files; @@ -32,16 +28,13 @@ public static int copy(InputStream in, OutputStream out) throws IOException { } finally { try { in.close(); - } catch (IOException var12) { + } catch (IOException ignored) { } - try { out.close(); - } catch (IOException var11) { + } catch (IOException ignored) { } - } - return var2; } @@ -51,7 +44,7 @@ public static void copy(byte[] in, OutputStream out) throws IOException { } finally { try { out.close(); - } catch (IOException var8) { + } catch (IOException ignored) { } } @@ -83,12 +76,12 @@ public static int copy(Reader in, Writer out) throws IOException { } finally { try { in.close(); - } catch (IOException var15) { + } catch (IOException ignored) { } try { out.close(); - } catch (IOException var14) { + } catch (IOException ignored) { } } @@ -100,7 +93,7 @@ public static void copy(String in, Writer out) throws IOException { } finally { try { out.close(); - } catch (IOException var8) { + } catch (IOException ignored) { } } diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/ImageUtils.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/ImageUtils.java index f6daf89..5999d74 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/ImageUtils.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/ImageUtils.java @@ -22,9 +22,18 @@ public class ImageUtils { private static Logger logger = LoggerFactory.getLogger(ImageUtils.class); - private static Map originalCacheMap = new ConcurrentHashMap(); //滑块底图 - private static Map slidingBlockCacheMap = new ConcurrentHashMap(); //滑块 - private static Map picClickCacheMap = new ConcurrentHashMap(); //点选文字 + /** + * 滑块底图 + */ + private static Map originalCacheMap = new ConcurrentHashMap<>(); + /** + * 滑块 + */ + private static Map slidingBlockCacheMap = new ConcurrentHashMap<>(); + /** + * 点选文字 + */ + private static Map picClickCacheMap = new ConcurrentHashMap<>(); private static Map fileNameMap = new ConcurrentHashMap<>(); public static void cacheImage(String captchaOriginalPathJigsaw, String captchaOriginalPathClick) { @@ -91,8 +100,8 @@ public static BufferedImage getPicClick() { /** * 图片转base64 字符串 * - * @param templateImage - * @return + * @param templateImage templateImage + * @return base64 */ public static String getImageToBase64Str(BufferedImage templateImage) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -111,8 +120,8 @@ public static String getImageToBase64Str(BufferedImage templateImage) { /** * base64 字符串转图片 * - * @param base64String - * @return + * @param base64String base64String + * @return 图片 */ public static BufferedImage getBase64StrToImage(String base64String) { try { @@ -160,8 +169,6 @@ private static Map getImagesFile(String path) { byte[] bytes = FileCopyUtils.copyToByteArray(fileInputStream); String string = Base64Utils.encodeToString(bytes); imgMap.put(item.getName(), string); - } catch (FileNotFoundException e) { - e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/JsonUtil.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/JsonUtil.java index 66e29e7..e64ecb2 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/JsonUtil.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/JsonUtil.java @@ -61,7 +61,7 @@ public static String toJSONString(Object object) { if (object instanceof List) { List list = (List) object; StringBuilder buf = new StringBuilder("["); - list.stream().forEach(t -> { + list.forEach(t -> { buf.append(t.toJsonString()).append(","); }); return buf.deleteCharAt(buf.lastIndexOf(",")).append("]").toString(); diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/RandomUtils.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/RandomUtils.java index 7c134c3..b0a184e 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/RandomUtils.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/RandomUtils.java @@ -11,13 +11,12 @@ import java.util.UUID; import java.util.concurrent.ThreadLocalRandom; - public class RandomUtils { /** * 生成UUID * - * @return + * @return UUID */ public static String getUUID() { String uuid = UUID.randomUUID().toString(); @@ -28,11 +27,10 @@ public static String getUUID() { /** * 获取指定文字的随机中文 * - * @return + * @return 随机中文 */ public static String getRandomHan(String hanZi) { - String ch = hanZi.charAt(new Random().nextInt(hanZi.length())) + ""; - return ch; + return hanZi.charAt(new Random().nextInt(hanZi.length())) + ""; } public static int getRandomInt(int bound) { @@ -42,7 +40,7 @@ public static int getRandomInt(int bound) { /** * 获取随机中文 * - * @return + * @return 随机中文 */ public static String getRandomHan() { String str = ""; @@ -51,8 +49,10 @@ public static String getRandomHan() { Random random = new Random(); - highCode = (176 + Math.abs(random.nextInt(39))); //B0 + 0~39(16~55) 一级汉字所占区 - lowCode = (161 + Math.abs(random.nextInt(93))); //A1 + 0~93 每区有94个汉字 + // B0 + 0~39(16~55) 一级汉字所占区 + highCode = (176 + Math.abs(random.nextInt(39))); + // A1 + 0~93 每区有94个汉字 + lowCode = (161 + Math.abs(random.nextInt(93))); byte[] b = new byte[2]; b[0] = (Integer.valueOf(highCode)).byteValue(); @@ -69,9 +69,9 @@ public static String getRandomHan() { /** * 随机范围内数字 * - * @param startNum - * @param endNum - * @return + * @param startNum 开始 + * @param endNum 结束 + * @return 随机数 */ public static Integer getRandomInt(int startNum, int endNum) { return ThreadLocalRandom.current().nextInt(endNum - startNum) + startNum; @@ -80,8 +80,8 @@ public static Integer getRandomInt(int startNum, int endNum) { /** * 获取随机字符串 * - * @param length - * @return + * @param length 长度 + * @return 随机字符串 */ public static String getRandomString(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StreamUtils.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StreamUtils.java index 39545bb..e445350 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StreamUtils.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StreamUtils.java @@ -1,8 +1,4 @@ package com.xingyuv.captcha.util; -// -// Source code recreated from a .class file by IntelliJ IDEA -// (powered by Fernflower decompiler) -// import java.io.*; import java.nio.charset.Charset; @@ -31,7 +27,6 @@ public static String copyToString(InputStream in, Charset charset) throws IOExce StringBuilder out = new StringBuilder(); InputStreamReader reader = new InputStreamReader(in, charset); char[] buffer = new char[4096]; - boolean var5 = true; int bytesRead; while ((bytesRead = reader.read(buffer)) != -1) { diff --git a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StringUtils.java b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StringUtils.java index 2df3828..efa2558 100644 --- a/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StringUtils.java +++ b/core/captcha-plus/src/main/java/com/xingyuv/captcha/util/StringUtils.java @@ -6,6 +6,8 @@ */ package com.xingyuv.captcha.util; +import java.util.Objects; + public class StringUtils { /** @@ -536,7 +538,7 @@ public static String[] stripAll(String[] strs, String stripChars) { * @see java.lang.String#equals(Object) */ public static boolean equals(String str1, String str2) { - return str1 == null ? str2 == null : str1.equals(str2); + return Objects.equals(str1, str2); } /** diff --git a/core/captcha-plus/src/main/resources/defaultImages/jigsaw/original/bg8.png b/core/captcha-plus/src/main/resources/defaultImages/jigsaw/original/bg8.png deleted file mode 100644 index 5ea54d4..0000000 Binary files a/core/captcha-plus/src/main/resources/defaultImages/jigsaw/original/bg8.png and /dev/null differ diff --git a/core/spring-boot-starter-captcha-plus/pom.xml b/core/spring-boot-starter-captcha-plus/pom.xml index bb6fc5a..d768ec5 100644 --- a/core/spring-boot-starter-captcha-plus/pom.xml +++ b/core/spring-boot-starter-captcha-plus/pom.xml @@ -7,12 +7,12 @@ org.springframework.boot spring-boot-starter-parent - 2.7.7 + 2.7.8 com.xingyuv spring-boot-starter-captcha-plus - 1.0.1 + 1.0.2 spring-boot-starter-captcha-plus spring-boot-starter-captcha-plus @@ -21,7 +21,7 @@ 1.8 - 2.7.7 + 2.7.8 @@ -29,7 +29,7 @@ com.xingyuv captcha-plus - 1.0.1 + 1.0.2 org.springframework.boot diff --git a/core/spring-boot-starter-captcha-plus/src/main/java/com/xingyuv/captcha/properties/AjCaptchaProperties.java b/core/spring-boot-starter-captcha-plus/src/main/java/com/xingyuv/captcha/properties/AjCaptchaProperties.java index 49a1fdc..313f471 100644 --- a/core/spring-boot-starter-captcha-plus/src/main/java/com/xingyuv/captcha/properties/AjCaptchaProperties.java +++ b/core/spring-boot-starter-captcha-plus/src/main/java/com/xingyuv/captcha/properties/AjCaptchaProperties.java @@ -29,9 +29,9 @@ public class AjCaptchaProperties { /** - * 右下角水印文字(我的水印). + * 右下角水印文字(captcha-plus). */ - private String waterMark = "我的水印"; + private String waterMark = "captcha-plus"; /** * 右下角水印字体(文泉驿正黑). diff --git a/pom.xml b/pom.xml index 544de17..8bc070e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,12 +6,12 @@ com.xingyuv captcha-plus-parent - 1.0.1 + 1.0.2 pom - 2.7.7 - 1.0.1 + 2.7.8 + 1.0.2 1.8 1.8 UTF-8 diff --git a/view/doc/docs/captchaDoc/java.md b/view/doc/docs/captchaDoc/java.md index 7e80a0d..c338886 100644 --- a/view/doc/docs/captchaDoc/java.md +++ b/view/doc/docs/captchaDoc/java.md @@ -7,7 +7,7 @@ a.引入jar,已上传至maven中央仓库。 com.xingyuv spring-boot-starter-captcha-plus - 1.0.1 + 1.0.2 ``` b.修改application.properties,自定义底图和水印,启动后前端就可以请求接口了。[社区底图库](https://gitee.com/anji-plus/AJ-Captcha-Images)