
# 管理脱敏算法
为了方便对数据进行脱敏，在创建脱敏策略前，需要您准备好脱敏算法。当前系统已内置20+脱敏算法，如果内置算法可以满足您的需求，您需要提前配置对应算法参数；否则，您可以新建脱敏算法。
本章主要介绍内置脱敏算法，和如何新建脱敏算法。
#### 约束与限制
- 新建随机脱敏或字符替换类型的脱敏算法时，如果选择将敏感数据脱敏为样本库脱敏，则测试算法时限制样本文件大小不能超过10kb。注意，10kb仅为算法测试功能的限制，静态脱敏时样本文件大小不受10kb限制。
- 新建哈希类型的脱敏算法时，其中的dws-SM3密码杂凑算法是DWS引擎专有算法，结果为16进制字符串，其字母为小写，要求DWS集群版本不低于8.1.3。通用-SM3密码杂凑算法为DLI或MRS引擎通用算法，结果为16进制字符串，其字母为大写。
 
#### 内置脱敏算法介绍
数据安全提供了如下内置脱敏算法供您选择使用。建议您在选择算法之前，可以使用预先提供的内置算法配置和测试功能，以保证自己选择了合适的算法。
 表1内置算法介绍 
| 算法类型 | 内置算法名称        | 算法描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 是否支持配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| 哈希   | HMAC-SHA256哈希 | 使用HMAC-SHA256算法进行哈希处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 支持配置盐值和密钥。 说明： - 算法使用前必须先配置密钥，此算法才能正常使用。   - 算法盐值由您自行配置，而非系统给出的安全随机数，请关注相应使用风险。    |
| 哈希   | SHA-256哈希     | 使用SHA-256算法进行哈希处理。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | 支持配置盐值。 说明： 算法盐值由您自行配置，而非系统给出的安全随机数，请关注相应使用风险。                                                                                                                                                                                                                                                                                                                                        |
| 截断   | 数值类型截断        | 保留小数点前x位，将小数点前第1到x-1位、小数点后的位数全部截断并填补为0。 例如x=3时，1234截断为1200，999.999截断为900，10.7截断为0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 支持配置保留小数点前几位。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 截断   | 日期类型截断        | 截断日期指定位置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 支持配置日期格式和掩盖范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 掩码   | dws指定列全掩码     | dws指定数据列全脱敏。 仅当静态脱敏任务中源端、目标端数据源同为DWS，且执行引擎为DWS时才可以选择此算法。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | dws字符型掩码      | 从start到end的位置脱敏成指定的字符。 仅当静态脱敏任务中源端、目标端数据源同为DWS，且执行引擎为DWS时才可以选择此算法。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 支持配置开始位置、结束位置和掩码标志。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 掩码   | dws数值型掩码      | 从start到end的位置脱敏成指定的数字。 仅当静态脱敏任务中源端、目标端数据源同为DWS，且执行引擎为DWS时才可以选择此算法。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 支持配置开始位置、结束位置和掩码标志。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 掩码   | 身份证号码掩码       | 掩码身份证号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | 银行卡号掩码        | 掩码银行卡号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | Email掩码       | 掩码Email信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | 移动设备标识掩码      | 对设备码进行掩码，支持IMEI、MEID、ESN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 支持配置类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 掩码   | IPv6掩码        | 掩码IPv6地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | IPv4掩码        | 掩码IPv4地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | MAC地址掩码       | 掩码MAC地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | 电话号码掩码        | 掩码电话号码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 掩码   | 日期类型掩码        | 对指定日期格式进行掩码，支持ISO、EUR、USA格式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 支持配置日期格式和掩盖范围。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 掩码   | 掩码自x至y        | 掩码字符串第x至y位字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 支持配置x和y。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 掩码   | 保留自x至y        | 保留字符串第x至y位字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 支持配置x和y。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 掩码   | 掩码前n后m        | 掩码字符串前n后m位字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 支持配置n和m。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 掩码   | 保留前n后m        | 保留字符串前n后m位字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 支持配置n和m。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 加密   | dws列加密        | 调用DWS提供的对称密码算法gs_encrypt_aes128(encryptstr,keystr)实现对DWS数据列的加密，此算法以keystr为密钥对encryptstr字符串进行加密，返回加密后的字符串。 算法注意事项如下： - 仅当脱敏任务的目标源为DWS时，此算法才能正确生效。  - 加密后执行SQL解密时，必须当所有的数据都解密成功时，才能正确返回解密结果，否则解密失败。                                                                                                                                                                                                                                                                                        | 支持配置密钥，长度范围为1\~16字节。 说明： 算法使用前必须先配置密钥，此算法才能正常使用。                                                                                                                                                                                                                                                                                                                                       |
| 加密   | hive列加密       | 调用MRS提供的Hive列加密功能来实现对Hive数据列的加解密，支持AES和SMS4两种加密算法。 算法注意事项如下： - 仅当脱敏任务的目标源为Hive时，此算法才能正确生效。  - 国密场景下仅支持SMS4加密算法。  - 列加密只支持存储在HDFS上的TextFile和SequenceFile文件格式的表。  - Hive列加密不支持视图以及Hive over HBase场景。   | 支持配置加密类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 #### 新建脱敏算法
如果内置算法不满足您的需求，您可以新建自定义脱敏算法，自定义脱敏算法支持掩码、截断、哈希、加密、置空、随机脱敏、字符替换、键值脱敏、数值区间变换、模糊脱敏等10余类算法类型。
1. [登录DataArts Studio管理控制台](https://console.huaweicloud.com/dayu/)。
   
   详情请参考[访问DataArts Studio实例控制台](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_0001.html)。
   
   
2. 在DataArts Studio控制台首页，选择对应工作空间的"数据安全"模块，进入数据安全页面。
3. 在数据安全控制台左侧的导航树中单击"隐私保护管理 \> 脱敏算法"，进入脱敏算法页面。
4. 单击"新建"，新建脱敏算法。 
   图1新建脱敏算法   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002533278052.png "点击放大")
   
   
   
5. 新建脱敏算法参数配置请参考[表2]，参数配置完成单击"确定"即可。
   
   图2算法配置   
   ![](https://support.huaweicloud.com/usermanual-dataartsstudio/zh-cn_image_0000002021262221.png "点击放大")
   
   脱敏算法参数说明表：
    表2配置脱敏算法参数说明 
   | 配置     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|
   | \*算法名称 | 用户自定义算法名称，长度不能超过64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 描述     | 对当前算法进行简单描述，长度不能超过255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   | \*脱敏算法 | 自定义脱敏算法支持掩码、截断、哈希、加密、置空、随机脱敏、字符替换、键值脱敏、数值区间变换、模糊脱敏等10余类算法类型，您可以根据脱敏需求自行选择。 - 掩码：支持字符型、数值型、日期型掩码，将指定位置的原始数据脱敏为固定值。  - 截断：支持日期类型和数值类型截断，将日期截断到月日小时分秒，将数值截断取整。  - 哈希：支持所有类型，使用所选的算法计算HASH值。 相较于内置算法，自定义算法新增了dws-SM3密码杂凑算法和通用-SM3密码杂凑算法。其中dws-SM3密码杂凑算法是DWS引擎专有算法，结果为16进制字符串，其字母为小写，要求DWS集群版本不低于8.1.3；通用-SM3密码杂凑算法为DLI或MRS引擎通用算法，结果为16进制字符串，其字母为大写。   - 加密：支持所有类型，使用所选的数据源加密算法为对应数据源的数据进行加密。  - 置空：支持所有类型，将值设置为null。  - 随机脱敏：支持日期类型和数值类型随机脱敏，将日期或数值脱敏为指定区间范围之内或样本库中的值。新建样本库的请参考[管理样本库](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1023.html)章节。注意，选择样本库脱敏时，OBS样本文件只能用于DLI引擎的静态脱敏任务，HDFS样本文件只能用于MRS引擎的静态脱敏任务。静态脱敏场景与引擎之间的对应关系请参考[静态脱敏场景介绍](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1020.html#dataartsstudio_01_1020__zh-cn_topic_0000001627560186_section13163202310593)。 随机脱敏支持配置"随机算法保持原数据关联性"参数，开启后不同数据库中的相同数据，经过相同的规则脱敏后，脱敏结果是一致的。注意此参数开启后会存在被破解的安全风险，如确需开启，建议配置随机盐值，用于抵抗字典攻击。   - 字符替换：支持数值类型和字符类型字符替换，将指定位置的字符替换为固定值或者样本库中样本文件的值；自定义替换位置时支持使用随机数值或随机小写英文字母替换，并支持身份证号末位计算（计算身份证末位时，位数只能选择1，且前面位数需要大于等于17）。 新建样本库的请参考[管理样本库](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1023.html)章节。注意，选择样本库替换时，OBS样本文件只能用于DLI引擎的静态脱敏任务，HDFS样本文件只能用于MRS引擎的静态脱敏任务。静态脱敏场景与引擎之间的对应关系请参考[静态脱敏场景介绍](https://support.huaweicloud.com/usermanual-dataartsstudio/dataartsstudio_01_1020.html#dataartsstudio_01_1020__zh-cn_topic_0000001627560186_section13163202310593)。 随机脱敏支持配置"随机算法保持原数据关联性"参数，开启后不同数据库中的相同数据，经过相同的规则脱敏后，脱敏结果是一致的。注意此参数开启后会存在被破解的安全风险，如确需开启，建议配置随机盐值，用于抵抗字典攻击。   - 键值脱敏：支持数值类型键值脱敏，根据自定义表达式，将数值脱敏为计算后的数值。填写表达式时，原始数据变量为X，支持对原始数据进行加（+)减(-)乘(\*)除(/)、括号(())、取余(%)计算操作。例如表达式为"((X\*4+3)%100)/2-1"时，数值3的脱敏结果为6.5。  - 数值区间变换：支持数值类型区间变换，将指定区间之内的数字变换为指定值。  - 模糊脱敏：支持数值类型模糊脱敏，支持在百分比或绝对值模糊的区间范围内随机取值。例如百分比模糊模式，百分比分别为-10%和20%时，数值10的模糊脱敏结果为\[9,12\]区间范围内随机取值。 随机脱敏支持配置"随机算法保持原数据关联性"参数，开启后不同数据库中的相同数据，经过相同的规则脱敏后，脱敏结果是一致的。注意此参数开启后会存在被破解的安全风险，如确需开启，建议配置随机盐值，用于抵抗字典攻击。    |
   | 测试数据   | 输入待测试的数据后，单击"测试"，可在测试结果处查看脱敏结果。 说明： 新建随机脱敏或字符替换类型的脱敏算法时，如果选择将敏感数据脱敏为样本库脱敏，则测试算法时限制样本文件大小不能超过10kb。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 测试结果   | 输入待测试的数据后，单击"测试"，可在测试结果处查看脱敏结果。 说明： 新建随机脱敏或字符替换类型的脱敏算法时，如果选择将敏感数据脱敏为样本库脱敏，则测试算法时限制样本文件大小不能超过10kb。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
      
   
   
 
#### 相关操作
- 编辑算法：在脱敏算法页面，单击对应算法操作栏中的"编辑"，即可修改算法参数。 不同算法是否支持编辑和支持修改的参数因实际算法不同有所差异，请以操作界面为准。
  
- 测试算法：在脱敏算法页面，单击对应算法操作栏中的"测试"，即可测试该算法。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  建议您在使用算法之前，使用算法测试功能，以保证自己选择了合适的算法。
  不同算法是否支持测试因实际算法不同有所差异，请以操作界面为准。
  
- 删除算法：在脱敏算法页面，单击对应算法操作栏中的"删除"，即可删除算法。当需要批量删除时，可以在勾选算法后，在列表上方单击"批量删除"。
  注意，内置算法不支持删除，已在脱敏策略或指定列脱敏中引用的自定义算法无法删除。若要删除已引用的自定义算法，需要先修改引用关系，再进行删除操作。
  ![](https://support.huaweicloud.com/usermanual-dataartsstudio/public_sys-resources/note_3.0-zh-cn.png)
  删除操作无法撤销，请谨慎操作。
  
 
