动态数据脱敏函数
该函数为内部功能调用函数。
- creditcardmasking(col text, letter char default 'x')
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from creditcardmasking('4511-8454-2178-6551', 'x'); creditcardmasking --------------------- xxxx-xxxx-xxxx-6551 (1 row)
- basicemailmasking(col text, letter char default 'x')
描述:将col字符串中第一个'@'之前的字符使用letter替换。
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from basicemailmasking('Alex15@huawei.com','x'); basicemailmasking ------------------- xxxxxx@huawei.com (1 row)
- fullemailmasking(col text, letter char default 'x')
描述:将col字符串中出现最后一个'.'之前的字符(除'@'外)使用letter替换。
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from fullemailmasking('Alex15@huawei.com','x'); fullemailmasking ------------------- xxxxxx@xxxxxx.com (1 row)
- alldigitsmasking(col text, letter char default '0')
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from alldigitsmasking('abcdef 123456 ui 323 jsfd321 j3k2l3','0'); alldigitsmasking ------------------------------------- abcdef 000000 ui 000 jsfd000 j0k0l0 (1 row)
- shufflemasking(col text)
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from shufflemasking('abcdef 123456 ui 323 jsfd321 j3k2l3'); shufflemasking ------------------------------------- 22dc3316 3jb af4e3f135sjl ud2 k32i (1 row)
- randommasking(col text)
参数:待替换的字符串、替换字符。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from randommasking('abcdef'); randommasking --------------- 63d8dc (1 row)
- regexpmasking(col text, reg text, replace_text text, pos INTEGER default 0, reg_len INTEGER default -1)
参数:待替换的字符串、正则表达式、替换的起始位置、替换长度。
返回值类型:text
示例:
1 2 3 4 5
gaussdb=# select * from regexpmasking('abcdef 123456 ui 323 jsfd321 j3k2l3','[\d+]','0'); regexpmasking ------------------------------------- abcdef 000000 ui 000 jsfd000 j0k0l0 (1 row)