内置脱敏函数介绍

目前神通预置了以下 8 种脱敏函数

脱敏函数名 支持的数据类型 示例
creditcardmasking BPCHAR, VARCHAR, TEXT(注:仅针对信用卡格式的文本类数据) ‘4880-9898-4545-2525’ 将会被脱敏为 ‘xxxx-xxxx-xxxx-2525’,该函数仅对后4位之前的数字进行脱敏
basicemailmasking BPCHAR, VARCHAR, TEXT(注:仅针对email格式的文本类型数据) abcd@gmail.com’ 将会被脱敏为’xxxx@gmail.com’, 对出现第一个’@’之前的文本进行脱敏
fullemailmasking BPCHAR, VARCHAR, TEXT(注:仅针对email格式的文本类型数据) abcd@gmail.com’ 将会被脱敏为 ‘xxxx@xxxxx.com’,对出现最后一个’.’之前的文本(除’@’符外)进行脱敏
alldigitsmasking BPCHAR, VARCHAR, TEXT(注:仅针对包含数字的文本类型数据) ‘alex123alex’ 将会被脱敏为 ‘alex000alex’,仅对文本中的数字进行脱敏
shufflemasking BPCHAR, VARCHAR, TEXT(注:仅针对文本类型数据) ‘hello word’ 将会被随机打乱顺序脱敏为 ‘hlwoeor dl’, 该函数通过字符乱序排列的方式实现,属于弱脱敏函数,语义较强的字符串不建议使用该函数脱敏
randommasking BPCHAR, VARCHAR, TEXT(注:仅针对文本类型数据) ‘hello word’ 将会被脱敏为 ‘ad5f5ghdf5’,将文本按字符随机脱敏
regexpmasking BPCHAR, VARCHAR, TEXT(注:仅针对文本类型数据) 需要用户顺序输入四个参数,第一个参数为被替换的字符串,第二个参数为替换后的字符串, 第三个参数为目标字符串开始替换的初始位置,为整数类型,第四个参数为替换长度,为整数类型。 前两个参数可以用正则表达,第三个参数如果不指定则默认为 0,第四个参数如果不指定则默认为 -1, 即第三个参数后所有字符串。如果用户输入参数与参数类型不一致,则会使用 maskall 方式脱敏。 regexpmasking(‘[d+]’, ‘x’, 5, 9 ):‘4880-9898-4545-2525’ 将会被脱敏为 ‘4880-xxxx-xxxx-2525’
maskall BOOL, RELTIME, TIME, TIMETZ, INTERVALYTM, TIMESTAMP, TIMESTAMPTZ, ABSTIME, TEXT, BPCHAR, VARCHAR, INT8, INT4, INT2, INT1, NUMRIC, FLOAT4, FLOAT8 ‘4880-9898-4545-2525’ 将会被脱敏为 ‘xxxxxxxxxxxxxxxxxxx’