
# Data masking函数
数据脱敏(Data masking) 指对某些敏感信息通过脱敏规则进行数据的变形，实现敏感隐私数据的可靠保护。
- mask_first_n(string str\[, int n\]) →varchar 描述：返回str的屏蔽版本，前n个值被屏蔽。大写字母被转为"X"，小写字母被转为"x"，数字被转为"n"。
  ```
  select mask_first_n('Aa12-5678-8765-4321', 4);
          _col0        
  ---------------------
   Xxnn-5678-8765-4321 
  (1 row)
  ```
  
- mask_last_n(string str\[, int n\]) →varchar 描述：返回str的屏蔽版本，后n个值被屏蔽。大写字母被转为"X"，小写字母被转为"x"，数字被转为"n"。
  ```
  select mask_last_n('1234-5678-8765-Hh21', 4);
          _col0        
  ---------------------
   1234-5678-8765-Xxnn 
  (1 row)
  ```
  
- mask_show_first_n(string str\[, int n\]) →varchar 描述：返回str的屏蔽版本，只显示前n个字符。大写字母被转为"X"，小写字母被转为"x"，数字被转为"n"。
  ```
  select mask_show_first_n('1234-5678-8765-4321',4);
          _col0        
  ---------------------
   1234-nnnn-nnnn-nnnn 
  (1 row)
  ```
  
- mask_show_last_n(string str\[, int n\]) →varchar 描述：返回str的屏蔽版本，只显示后n个值。大写字母被转为"X"，小写字母被转为"x"，数字被转为"n"。
  ```
  select mask_show_last_n('1234-5678-8765-4321',4);
          _col0        
  ---------------------
   nnnn-nnnn-nnnn-4321 
  (1 row)
  ```
  
- mask_hash(string\|char\|varchar str) →varchar 描述：返回基于str的散列值。散列是一致的，可以用于跨表连接被屏蔽的值。对于非字符串类型，返回NULL。
  ```
  select mask_hash('panda');
                                _col0                               
  ------------------------------------------------------------------
   a7cdf5d0586b392473dd0cd08c9ba833240006a8a7310bf9bc8bf1aefdfaeadb 
  (1 row)
  ```
  
 
