# 对称加密

使用密钥对进行对称加密

# 一、请求说明

  • 请求地址:http://IP:PORT/openapi/ces/v1/symmetric/encrypt
  • 服务接口名称(即公共参数method的值): symmetric/encrypt
  • 请求方式:POST

# 二、请求参数

名称 类型 是否必须 描述
virtualIndex Integer 虚拟索引
wordMode SymmetricWorkMode 分组加密工作模式 默认 CBC
iv String Hex编码的iv 默认为全0
data String 待加密数据
dataType DataType 待加密数据格式 (原文、原文base64、原文hex)
encryptDataType DataType 加密后数据格式 (base64 、hex)
  • 字段解释

  • SymmetricWorkMode 对称分组加密工作模式

类型字段 介绍
CBC Cipher Block Chaining模式(密文分组链接模式)
ECB 电码本模式(Electronic Codebook Book (ECB)
  • DataType 数据类型介绍
字段 类型介绍
BASE64 原文BASE64
HEX 原文Hex
ORIGINAL 原文

# 三、响应参数

data 结果信息 类型 描述
encryptData String 加密结果

# 四、成功示例

JSON示例

{
  "code": 0,
  "message": "success",
  "requestId":"xxx",
  "data": {
    "encrypt": "BMY18jZgCLgQ1Jp9rbmQbEo+Pj6vsd7L6+zPv45qyeWkWVws9vxbLHtOcXDuMeRFFER33JP87u4x3mD8chLyKE6xMCzqDCwk+up+RhpO0ppbuXLLKEQNHexGWc2kDOzGdo92RA=="
  }
}

# 五、失败示例

JSON示例

{
    "code": 10100,
    "requestId":"xxx",
    "message": "未找到证书",
}

# 六、SDK请求示例

        // 提供的URL
        String url = "http://172.16.3.232:20501";

        // 您的appKey
        String appKey = "XXX";

        // 您的appSecret
        String appSecret = "XXX";

        // 1.原客户端
        PkiClient client = new PkiOkhttpClient(url, appKey, appSecret);

        SymmetricEncryptRequest request = new SymmetricEncryptRequest();

        Integer virtualIndex = 22009;

        request.setVirtualIndex(virtualIndex);

        // 签名项目的值
        request.setData("123456");

        // 待加密数据 原文
        request.setDataType(DataType.ORIGINAL);

        // 加密数据后数据格式
        request.setEncryptDataType(DataType.BASE64);

        try {
            SymmetricEncryptResponse response = client.execute(request);
            // 后续业务
            if (response.isSuccess()) {
                System.out.println("成功:" + response.getResult());
                SymmetricEncryptResponse.Result result = response.getResult();
                System.out.println("加密结果: " + result.getEncryptData());
            } else {
                System.out.println("失败:" + response.getBody());
            }
        } catch (ApiException e) {
            e.printStackTrace();
        }
最后更新于: 10/13/2022, 11:28:25 AM