数据脱敏函数

mask(string str[, string upper[, string lower[, string number]]])

  • 将目标字符串脱敏(使用掩码覆盖)后返回

    • 缺省掩码方案:大写字母转换为 X ,小写字母转换为 x ,数字转换为 n
    • 可以指定这各种字符的掩码方案,如果指定为 -1 ,则返回原值
  • select
        mask("abcd-EFGH-8765-4321"),
        mask("abcd-EFGH-8765-4321", "X", "x", "0"),
        mask("abcd-EFGH-8765-4321", "U", "l", "#"),
        mask("abcd-EFGH-8765-4321", -, "l", "#");
    

mask_first_n(string str[, int n[, string upper[, string lower[, string number]]]])

  • 对前几个字符进行脱敏(缺省掩码与上面 mask 函数一样)

  • 缺省 4 个字符

  • 遇到 “-” 原样输出

  • select
        mask_first_n("abcd-EFGH-8765-4321"),
        mask_first_n("ab-cd-EFGH-8765-4321"),
        mask_first_n("abcd-EFGH-8765-4321", 12),
        mask_first_n("abcd-EFGH-8765-4321", 12, "U", "l", "#");
    

mask_last_n(string str[, int n[, string upper[, string lower[, string number]]]])

  • 对后几个字符进行脱敏

  • select
        mask_last_n("abcd-EFGH-8765-4321"),
        mask_last_n("abcd-EFGH-8765-4321", 12, "U", "l", "#");
    

mask_show_first_n(string str[, int n[, string upper[, string lower[, string number]]]])

  • 只保留前几个字符,对剩余的字符进行脱敏

  • select
        mask_show_first_n("abcd-EFGH-8765-4321"),
        mask_show_first_n("abcd-EFGH-8765-4321", 3, "U", "l", "#");
    

mask_show_last_n(string str[, int n[, string upper[, string lower[, string number]]]])

  • 只保留后几个字符,对剩余的字符进行脱敏

  • select
        mask_show_last_n("abcd-EFGH-8765-4321"),
        mask_show_last_n("abcd-EFGH-8765-4321", 3, "U", "l", "#");
    

mask_hash(string|char|varchar str)

  • 返回字符串的 Hash 编码

  • 如果输入的不是 string|char|varchar 类型,则返回 NULL

  • select mask_hash("abcd-EFGH-8765-4321"), mask_hash(123);
    
  • 参考 “编解码函数” 的 hash 函数,二者返回值不同

053