切换主题
� 加密服务API接口
📋 接口规格
1. 数据加密接口
接口说明
用于对敏感数据进行加密,支持SM4国密算法和3DES算法,基于业务类型进行配置隔离
请求信息
- 接口路径:
/encrypt/{businessType} - 请求方式:
POST - Content-Type:
application/json
请求参数
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
data | String | 是 | 需要加密的原始数据 | 敏感信息123456 |
salt | String | 否 | 自定义盐值,用于混合加密算法mix03、mix04、mix07、mix08 | 自定义盐值123456 |
请求示例
json
{
"data": "user@example.com"
}1
2
3
2
3
响应结果
| 字段名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
code | Number | 状态码,200表示成功,其他值表示失败 | 200 |
msg | String | 响应消息,成功时为"success" | "success" |
data | String | 加密后的Base64数据 | "MTcwNTMxMDUwMHx1c2VyQGV4YW1wbGUuY29t" |
成功响应示例
json
{
"code": 200,
"msg": "success",
"data": "MTcwNTMxMDUwMHx1c2VyQGV4YW1wbGUuY29t"
}1
2
3
4
5
2
3
4
5
错误响应示例
json
{
"code": 500,
"message": "加密失败:不支持的算法类型",
"data": null
}1
2
3
4
5
2
3
4
5
2. 数据解密接口
接口说明
用于对加密数据进行解密,自动识别算法类型并验证时间戳防重放攻击
请求信息
- 接口路径:
/decrypt/{businessType} - 请求方式:
POST - Content-Type:
application/json
请求参数
| 参数名 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
data | String | 是 | 需要解密的Base64数据 | "MTcwNTMxMDUwMHx1c2VyQGV4YW1wbGUuY29t" |
salt | String | 否 | 自定义盐值,用于混合加密算法mix03、mix04、mix07、mix08 | 自定义盐值123456 |
请求示例
json
{
"data": "MTcwNTMxMDUwMHx1c2VyQGV4YW1wbGUuY29t"
}1
2
3
2
3
响应结果
| 字段名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
code | Number | 状态码,200表示成功,其他值表示失败 | 200 |
msg | String | 响应消息,成功时为"success" | "success" |
data | String | 解密后的原始数据 | "user@example.com" |
成功响应示例
json
{
"code": 200,
"msg": "success",
"data": "user@example.com"
}1
2
3
4
5
2
3
4
5
错误响应示例
json
{
"code": 400,
"msg": "解密失败:时间戳已过期",
"data": null
}1
2
3
4
5
2
3
4
5
🔧 业务类型配置
支持的业务类型
加密服务支持以下业务类型的配置,每种业务类型可以配置不同的加密算法和密钥:
| 业务类型 | 推荐算法 | 应用场景 |
|---|---|---|
user-info | SM4 | 用户个人信息 |
payment-data | SM4 | 支付相关数据 |
order-info | 3DES | 订单信息 |
api-gateway | SM4 | 网关传输数据 |
mobile-app | 3DES | 移动端数据 |
sensitive-log | SM4 | 敏感日志数据 |
配置示例
yaml
encrypt:
configs:
- business-type: user-info
encrypt-type: sm4
key: "user_info_sm4_key_32bytes_1234567890abcdef"
- business-type: payment-data
encrypt-type: sm4
key: "payment_sm4_key_32bytes_abcdef1234567890"
- business-type: order-info
encrypt-type: 3des
key: "order_3des_key_48bytes_1234567890abcdef1234567890abcdef"1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
💡 使用建议
1. 业务类型选择
- 根据数据敏感度选择合适的业务类型
- 不同业务场景使用不同的加密配置
- 定期轮换密钥以提高安全性
2. 数据格式要求
- 原始数据支持任意字符串格式
- 加密结果使用Base64编码
- 支持UTF-8字符编码
3. 错误处理
- 检查业务类型配置是否存在
- 验证密钥格式是否正确
- 处理时间戳过期情况
4. 安全建议
- 使用HTTPS传输敏感数据
- 实施访问频率限制
- 记录审计日志
- 定期更新加密配置