
# 动态数据脱敏函数
![](https://support.huaweicloud.com/distributed-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
该函数为内部功能调用函数。
- creditcardmasking(col text, letter char default 'x') 描述：将col字符串后四位之前的数字使用letter替换。
  参数：待替换的字符串、替换字符。
  返回值类型：text
  示例：
  ```
  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
  示例：
  ```
  gaussdb=# select * from basicemailmasking('Alex15@huawei.com','x');
    basicemailmasking
  -------------------
   xxxxxx@huawei.com
  (1 row)
  ```
  
- fullemailmasking(col text, letter char default 'x') 描述：将col字符串中出现最后一个'.'之前的字符(除'@'外)使用letter替换。
  参数：待替换的字符串、替换字符。
  返回值类型：text
  示例：
  ```
  gaussdb=# select * from fullemailmasking('Alex15@huawei.com','x');
  fullemailmasking
  -------------------
   xxxxxx@xxxxxx.com
  (1 row)
  ```
  
- alldigitsmasking(col text, letter char default '0') 描述：将col字符串中出现的数字使用letter替换。
  参数：待替换的字符串、替换字符。
  返回值类型：text
  示例：
  ```
  gaussdb=# select * from  alldigitsmasking('abcdef 123456 ui 323 jsfd321 j3k2l3','0');
            alldigitsmasking
  -------------------------------------
   abcdef 000000 ui 000 jsfd000 j0k0l0
  (1 row)
  ```
  
- shufflemasking(col text) 描述：将col字符串中的字符乱序排列。
  参数：待替换的字符串、替换字符。
  返回值类型：text
  示例：
  ```
  gaussdb=# select * from  shufflemasking('abcdef 123456 ui 323 jsfd321 j3k2l3');
             shufflemasking
  -------------------------------------
    22dc3316 3jb af4e3f135sjl ud2 k32i
  (1 row)
  ```
  
- randommasking(col text) 描述：将col字符串中的字符随机化。
  参数：待替换的字符串、替换字符。
  返回值类型：text
  示例：
  ```
  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) 描述：将col字符串使用正则表达式替换。
  参数：待替换的字符串、正则表达式、替换的字符串、替换的起始位置、替换长度。
  返回值类型：text
  示例：
  ```
  gaussdb=# select * from regexpmasking('abcdef 123456 ui 323 jsfd321 j3k2l3','[\d+]','0');
              regexpmasking
  -------------------------------------
   abcdef 000000 ui 000 jsfd000 j0k0l0
  (1 row)
  ```
  
 
