
# 创建脱敏算法 - AddMaskAlgorithm
#### 功能介绍
添加新的脱敏算法
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dsc/dsc_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dsc/dsc_02_0031.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v1/{project_id}/sdg/server/mask/algorithms
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述      |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目唯一标识符 |
   
#### 请求参数
表2请求Body参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                     |
|:---|:---|:---|:---|
| algorithm      | 否    | String | 加密脱敏算法的类型，包括：SHA256、SHA512、PRESNM、MASKNM、PRESXY、MASKXY、SYMBOL、KEYWORD、NULL、EMPTY、DATE、NUMERIC、AES、EMBED、SM4、DECRYPT。   |
| algorithm_id   | 否    | String | 脱敏算法的唯一ID                                                                                                              |
| algorithm_name | 否    | String | 脱敏算法的名称                                                                                                                |
| algorithm_type | 否    | String | 脱敏算法的类型，如哈希脱敏、加密脱敏等，可选值：MASK_BY_HASH、MASK_BY_ENCRYPT、MASK_BY_OVERWRITE、MASK_BY_KEYWORDS_EXCHANGE、MASK_BY_NULL、MASK_BY。 |
| category       | 否    | String | 脱敏算法的分类，可选值：BUILT_IN（内置算法）、BUILT_IN_COPY（复制的内置算法）和BUILT_SELF（自定义算法）                                                    |
| data           | 否    | String | 脱敏算法处理的数据内容                                                                                                            |
| parameter      | 否    | String | 脱敏算法的配置参数                                                                                                              |
| processed_data | 否    | String | 脱敏处理后的数据内容                                                                                                             |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数     | 参数类型   | 描述                          |
|:---|:---|:---|
| msg    | String | 返回的消息内容，用于描述操作结果            |
| status | String | 返回的状态码，如'200'表示成功，'400'表示错误 |
   
**状态码：201**
资源创建
#### 请求示例
```
POST /v1/{project_id}/sdg/server/mask/algorithms
{
  "algorithm" : "PRESNM",
  "algorithm_id" : "",
  "algorithm_name" : "alg1",
  "algorithm_type" : "MASK_BY_OVERWRITE",
  "category" : "BUILT_SELF",
  "parameter" : {
    "\\\"type\\\":\\\"CHAR\\\"" : null,
    "\\\"first\\\":\\\"2\\\"" : null,
    "\\\"second\\\":\\\"2\\\"" : null,
    "\\\"method\\\":\\\"*\\\"" : null
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 创建成功  |
| 201 | 资源创建  |
| 401 | 未授权   |
| 403 | 禁止访问  |
| 404 | 资源未找到 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dsc/ErrorCode.html)。
