脱敏算法

背景信息

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

参数解释

哈希脱敏算法

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替换字符

替换脱敏算法

身份证随机替换脱敏算法

类型:PERSONAL_IDENTITY_NUMBER_RANDOM_REPLACE

可配置属性:

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

军官证随机替换脱敏算法

类型:MILITARY_IDENTITY_NUMBER_RANDOM_REPLACE

可配置属性:

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

手机号随机替换脱敏算法

类型: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)

座机号码随机替换

类型:LANDLINE_NUMBER_RANDOM_REPLACE

可配置属性:

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

通⽤表格随机替换

类型: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特殊字符码表(以英文逗号分隔,默认值:~,!,@,#,$,%,^,&,*,:,<,>,¦)

统⼀信⽤码随机替换

类型:UNIFIED_CREDIT_CODE_RANDOM_REPLACE

可配置属性:

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

操作步骤

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

配置示例

  1. rules:
  2. - !MASK
  3. tables:
  4. t_user:
  5. columns:
  6. password:
  7. maskAlgorithm: md5_mask
  8. email:
  9. maskAlgorithm: mask_before_special_chars_mask
  10. telephone:
  11. maskAlgorithm: keep_first_n_last_m_mask
  12. maskAlgorithms:
  13. md5_mask:
  14. type: MD5
  15. mask_before_special_chars_mask:
  16. type: MASK_BEFORE_SPECIAL_CHARS
  17. props:
  18. special-chars: '@'
  19. replace-char: '*'
  20. keep_first_n_last_m_mask:
  21. type: KEEP_FIRST_N_LAST_M
  22. props:
  23. first-n: 3
  24. last-m: 4
  25. replace-char: '*'

相关参考