# pan-verification-code
**Repository Path**: guo-dingyi/pan-verification-code
## Basic Information
- **Project Name**: pan-verification-code
- **Description**: pan-verification-code 是一个纯粹的用 java语言实现的生成验证码图片的项目,主要使用了java awt技术来实现图片验证码生成,支持以base64或者jpg返回验证码图片
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2023-11-25
- **Last Updated**: 2025-01-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 验证码, Java
## README
# pan-verification-code
#### 介绍
pan-verification-code 是一个用 java 语言实现的生成验证码图片的项目
验证码内容通过java.lang.Math.random()进行随机, 验证码图片通过java.awt.Graphics2D进行生成
#### 软件架构
软件架构说明
主要定义了三个接口
1. Picture: 操作图片本身的接口
2. Interfere: 这主要是对验证码图片进行干扰接口
3. VerificationCode: 获取验证码的接口
#### 安装教程
1. 把项目 clone 到本地
2. maven install 到本地的maven仓库
3. 在另一个Maven项目中添加依赖
```xml
com.pan
pan-verification-code
1.0-SNAPSHOT
```
#### 使用说明
通过调用PanVerificationCode的两个静态方法获取生成不同类型验证码的VerificationCode对象
1. 字符串验证码:
调用该方法PanVerificationCode.createStringValidateCode()可获取生成字符串编码的VerificationCode对象,
再通过VerificationCode对象生成验证码图片
2.
```java
public class Application {
public static void main(String[] args) {
//获取生成字符串编码的VerificationCode对象
VerificationCode stringVerificationCode = PanVerificationCode.createStringValidateCode();
//使用VerificationCode方法一: 返回base64编码的图片 和 验证码结果
Base64Result base64Result = stringVerificationCode.getBase64();
System.out.println(base64Result.getResult());//验证码结果
System.out.println(base64Result.getImgBase64());//验证码图片的base64编码字符串
//使用VerificationCode方法二: 在指定路径生成验证码的jpg图片,并返回验证码结果
//第一个参数是生成验证码所在文件夹, 第二个参数是验证码图片文件名
String code = stringVerificationCode.get("./result", "StringValidateCode");
System.out.println(code);//这是验证码结果
}
}
```
2. 算式验证码:
调用该方法PanVerificationCode.createComputeValidateCode()可获取生成字符串编码的VerificationCode对象,
再通过VerificationCode对象生成验证码图片
```java
public class Application {
public static void main(String[] args) {
VerificationCode computeVerificationCode = PanVerificationCode.createComputeValidateCode();
//使用VerificationCode的方法相,请参考上述"1.字符串验证码"例子
//...
}
}
```
#### 生成效果

#### 参与贡献
#### 特技