# mica 验证码 ## 图示 ![数学验证码01](../docs/images/0701.m.jpg) ![数学验证码02](../docs/images/0702.m.jpg) ![随机数验证码03](../docs/images/0703.r.jpg) ![随机数验证码04](../docs/images/0704.r.jpg) ## 功能和特点 1. 验证码生成 2. 验证码缓存 3. 内置字体 ## 使用 ### maven ```xml net.dreamlu mica-captcha ${version} ``` ### gradle ```groovy compile("net.dreamlu:mica-captcha:${version}") ``` ## 配置 | 配置项 | 默认值 | 说明 | | ------------------------- | ------------------- | ---------------------------------- | | mica.captcha.captcha-type | RANDOM(随机) | RANDOM(随机)MATH(算术) | | mica.captcha.cache-name | captcha:cache#5m, | cache 名称,配合 mica-caffeine、mica-redis、mica-redisson 使用5分钟缓存 | 注意: 1. 单服务可以采用 `guava`、`ehcache`、`caffeine` 等内存缓存。 2. 分布式下可以使用 `redis` 等。 3. 如果不是用 `spring cache`,可自行实现 `ICaptchaCache` 注册成 `Spring bean` 即可。 ## 使用文档 ### 导入 Bean ```java @Autowired ICaptchaService captchaService; ``` ### 方法 ```java /** * 生成验证码 * * @param uuid 自定义缓存的 uuid * @param outputStream OutputStream */ void generate(String uuid, OutputStream outputStream); /** * 生成验二进制证码 * * @param uuid 自定义缓存的 uuid * @return bytes */ byte[] generateBytes(String uuid); /** * 生成验 Resource 证码 * * @param uuid 自定义缓存的 uuid * @return ByteArrayResource */ ByteArrayResource generateByteResource(String uuid); /** * 生成验证码 base64 字符串 * * @param uuid 自定义缓存的 uuid * @return base64 图片 */ String generateBase64(String uuid); /** * 生成验证码 * * @param uuid uuid * @return {ResponseEntity} */ ResponseEntity generateResponseEntity(String uuid); /** * 校验验证码 * * @param uuid 自定义缓存的 uuid * @param userInputCaptcha 用户输入的图形验证码 * @return 是否校验成功 */ boolean validate(String uuid, String userInputCaptcha); ```