
# 示例1：加解密小量数据
#### 场景描述
当您需[加解密不大于4KB的小量数据](https://support.huaweicloud.com/productdesc-dew/dew_01_0006.html#section0)（例如：口令、证书、电话号码等）时，您可以通过KMS界面使用在线工具加解密数据，或者调用KMS的API接口使用指定的用户主密钥直接加密、解密数据。
流程如下：
1. 用户需要在KMS中创建一个用户主密钥。
2. 用户调用KMS的"encrypt-data"接口，使用指定的用户主密钥将明文数据加密为密文数据。
3. 用户在服务器上部署密文证书。
4. 当服务器需要使用证书时，调用KMS的"decrypt-data"接口，将密文数据解密为密文证书。
 
#### 加解密API
加解密小数据时，涉及的API如下：
- [创建用户主密钥]：创建用户主密钥，用来加密数据。
- [加密数据]：用指定的主密钥加密数据密钥。
- [解密数据]：用指定的主密钥解密数据密钥。
 
#### 操作步骤
1. 创建用户主密钥。
   
   - 接口相关信息 URI格式：POST /v1.0/{project_id}/kms/create-key
     详情请参见[创建密钥](https://support.huaweicloud.com/api-dew/CreateKey.html)。
     ![](https://support.huaweicloud.com/api-dew/public_sys-resources/note_3.0-zh-cn.png)
     别名"/default"为服务默认主密钥的后缀名，由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同，即后缀名不能为"/default"。
     
   
   - 请求示例 POST: https://*{endpoint}*/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-key
     {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?DEW)获取。
     Body：
     ```
     {
         "key_alias": "test"
     }
     ```
     
   
   - 响应示例
     ```
     {
         "key_info": {
             "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e",
             "domain_id": "b168fe00ff56492495a7d22974df2d0b"
         }
     }
     ```
     
   
   
   
   
2. 加密数据。
   
   - 接口相关信息 URI格式：POST /v1.0/{project_id}/kms/encrypt-data
     详情请参见[加密数据](https://support.huaweicloud.com/api-dew/EncryptData.html)。
     
   
   - 请求示例 POST https://*{endpoint}*/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/encrypt-data
     {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?DEW)获取。
     您可使用[查询密钥列表](https://support.huaweicloud.com/api-dew/ListKeys.html)接口获取当前用户密钥列表，包括key_id等信息 。
     Body：
     ```
     {
         "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
         "plain_text": "12345678"
     }
     ```
     
   
   - 响应示例
     ```
     {     "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
          "cipher_text": "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFPjbKn5klPTvOywYIeZX60kPbFsYOpXJwkL32HUM50MY22Eb1fOSpZK7WJpYjx66EWOkJvO+Ey3r1dLdNAjrZrYzQlxRwNS05CaNKoX5rr3NoDnmv+UNobaiS25muLLiqOt6UrStaWow9AUyOHSzl+BrX2Vu0whv74djK+3COO6cXT2CBO6WajTJsOgYdxMfv24KWSKw0TqvHe8XDKASQGKdgfI74hzI1YWJlNjlmLWFlMTAtNDRjZC1iYzg3LTFiZGExZGUzYjdkNwAAAACdcfNpLXwDUPH3023MvZK8RPHe129k6VdNIi3zNb0eFQ==" 
     }
     ```
     
     
   
   
   
   
3. 解密数据。
   
   - 接口相关信息 URI格式：POST /v1.0/{project_id}/kms/decrypt-data
     详情请参见[解密数据](https://support.huaweicloud.com/api-dew/DecryptData.html)。
     
   
   - 请求示例 POST https://*{endpoint}*/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/decrypt-data
     {endpoint}信息请从[地区和终端节点](https://developer.huaweicloud.com/endpoint?DEW)获取。
     您可使用[查询密钥列表](https://support.huaweicloud.com/api-dew/ListKeys.html)接口获取当前用户密钥列表，包括key_id等信息 。
     Body：
     ```
     {      "cipher_text": "AgDoAG7EsEc2OHpQxz4gDFDH54CqwaelpTdEl+RFPjbKn5klPTvOywYIeZX60kPbFsYOpXJwkL32HUM50MY22Eb1fOSpZK7WJpYjx66EWOkJvO+Ey3r1dLdNAjrZrYzQlxRwNS05CaNKoX5rr3NoDnmv+UNobaiS25muLLiqOt6UrStaWow9AUyOHSzl+BrX2Vu0whv74djK+3COO6cXT2CBO6WajTJsOgYdxMfv24KWSKw0TqvHe8XDKASQGKdgfI74hzI1YWJlNjlmLWFlMTAtNDRjZC1iYzg3LTFiZGExZGUzYjdkNwAAAACdcfNpLXwDUPH3023MvZK8RPHe129k6VdNIi3zNb0eFQ=="
      }
     ```
     
   
   - 响应示例
     ```
     {   
         "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
          "plain_text": "12345678"
      }
     ```
     
     
   
   
   
   
 
