Logo
数据脱敏算法

背景信息 #

脱敏算法是脱敏功能使用的算法,DBPlusEngine 内置了多种算法,可以让用户方便使用。

参数解释 #

哈希脱敏算法 #

MD5 脱敏算法 #

类型:MD5

可配置属性:

名称数据类型说明
saltString盐值(可选)

遮盖脱敏算法 #

保留前 N 后 M 脱敏算法 #

类型:KEEP_FIRST_N_LAST_M

可配置属性:

名称数据类型说明
first-nint前 n 位
last-mint后 n 位
replace-charString替换字符

保留自 X 至 Y 脱敏算法 #

类型:KEEP_FROM_X_TO_Y

可配置属性:

名称数据类型说明
from-xint起始位置(从 0 开始)
to-yint结束位置(从 0 开始)
replace-charString替换字符

遮盖前 N 后 M 脱敏算法 #

类型:MASK_FIRST_N_LAST_M

可配置属性:

名称数据类型说明
first-nint前 n 位
last-mint后 n 位
replace-charString替换字符

遮盖自 X 至 Y 脱敏算法 #

类型:MASK_FROM_X_TO_Y

可配置属性:

名称数据类型说明
from-xint起始位置(从 0 开始)
to-yint结束位置(从 0 开始)
replace-charString替换字符

特殊字符前遮盖脱敏算法 #

类型:MASK_BEFORE_SPECIAL_CHARS

可配置属性:

名称数据类型说明
special-charsString特殊字符(首次出现)
replace-charString替换字符

特殊字符后遮盖脱敏算法 #

类型:MASK_AFTER_SPECIAL_CHARS

可配置属性:

名称数据类型说明
special-charsString特殊字符(首次出现)
replace-charString替换字符

替换脱敏算法 #

身份证随机替换脱敏算法 #

类型:SphereEx:PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE

可配置属性:

名称数据类型说明
alpha-two-country-area-codeString两位字母国家/地区编码(可选,默认:CN)

军官证随机替换脱敏算法 #

类型:SphereEx:MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE

可配置属性:

名称数据类型说明
type-codesString军官证种类编码(以英文逗号分隔,例如:军,人,士,文,职)

手机号随机替换脱敏算法 #

类型:SphereEx:TELEPHONE_RANDOM_REPLACE

可配置属性:

名称数据类型说明
network-numbersString⽹号(以英文逗号分隔,默认值:130,131,132,133,134,135,136,137,138,139,150,151,152,153,155,156,157,158,159,166,170,176,177,178,180,181,182,183,184,185,186,187,188,189,191,198,199)

座机号码随机替换 #

类型:SphereEx:LANDLINE_NUMBER_RANDOM_REPLACE

可配置属性:

名称数据类型说明
landline-numbersString座机号码(以英文逗号分隔)

统⼀信⽤码随机替换 #

类型:SphereEx:UNIFIED_CREDIT_CODE_RANDOM_REPLACE

可配置属性:

名称数据类型说明
registration-department-codesString登记管理部门代码(以英文逗号分隔)
category-codesString机构类别代码(以英文逗号分隔)
administrative-division-codesString行政区划随机码表(以英文逗号分隔)

中文姓名遮盖脱敏算法 #

类型:SphereEx:MASK_CHINESE_NAME

可配置属性:

名称数据类型说明
replace-charString替换字符,默认值:*

举例:

卫青 -> 卫*
霍去病 -> 霍*病
东方不败 -> 东**败
易 -> 易

通⽤表格随机替换 #

类型:GENERIC_TABLE_RANDOM_REPLACE

可配置属性:

名称数据类型说明
uppercase-letter-codesString大写字母码表(以英文逗号分隔,默认值:A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)
lowercase-letter-codesString小写字母码表(以英文逗号分隔,默认值:a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
digital-codesString数字码表(以英文逗号分隔,默认值:0,1,2,3,4,5,6,7,8,9)
special-codesString特殊字符码表(以英文逗号分隔,默认值:~,!,@,#,$,%,^,&,*,:,<,>,¦)

数据脱敏绑定用户算法 #

类型:SphereEx:MASK_USERNAME

可配置属性:

属性名称数据类型说明默认值
user-listsString用户列表

说明:删除该绑定用户时,需要同时修改数据脱敏规则。

数据脱敏绑定主机名算法 #

类型:SphereEx:MASK_HOSTNAME

可配置属性:

属性名称数据类型说明默认值
hostname-listsString主机列表

数据脱敏绑定角色算法 #

类型:SphereEx:MASK_ROLE

可配置属性:

属性名称数据类型说明默认值
role-listsString角色列表

说明:删除该绑定角色时,需要同时修改数据脱敏规则。

操作步骤 #

  1. 在脱敏规则中配置脱敏算法;
  2. 为脱敏算法指定脱敏算法类型。

配置示例 #

rules:
- !MASK
  tables:
    t_user:
      columns:
        password:
          maskAlgorithm: md5_mask
        email:
          maskAlgorithm: mask_before_special_chars_mask
        telephone:
          maskAlgorithm: keep_first_n_last_m_mask

  maskAlgorithms:
    md5_mask:
      type: MD5
    mask_before_special_chars_mask:
      type: MASK_BEFORE_SPECIAL_CHARS
      props:
        special-chars: '@'
        replace-char: '*'
    keep_first_n_last_m_mask:
      type: KEEP_FIRST_N_LAST_M
      props:
        first-n: 3
        last-m: 4
        replace-char: '*'