联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
6.6.2.3 支持的脱敏函数
更新时间:2/13/2025, 8:56:40 AM

本文介绍 ArgoDB 支持的脱敏函数,在使用脱敏函数前,您需要联系星环科技获取最新的函数软件包,随后将其导入至 ArgoDB 中,您也可以与 Transwarp Defensor 产品联合使用,可免去导入脱敏函数的操作,同时可为您提供界面化能力,简化配置流程并扩展分类分级等更多能力。

Transwarp Defensor 是星环科技自主研发的数据安全管理平台,结合星环大数据平台的安全能力,帮助您对敏感数据进行分类分级,并在此基础上,监控敏感数据的使用,能对违规操作,异常行为进行识别与告警。

规整
函数语法 描述 示例说明

regular(int value,int f1,int f2[,int f3,int f4])

区间规整,将数据分成不同的级别,支持三级、五级,输入两个参数分为三级(高/中/低),输入四个参数为五级(一级/…​/五级),分级的参数只支持整型

regular(22,10,30)→中 22为中级

regular(22,10,20,30,40)→三级 22为三级

取整
函数语法 描述 示例说明

number_floor(int num,int place)

数字按位取整,num 表示待取整的数字,place 表示取整的位数

number_floor(123456,3)→123000

date_floor(Date date[TimeStamp timeNum],range)

日期取整,支持输入的日期格式为 Date 或 TimeStamp,range 表示取整的粒度,可选择以下关键字:year/month/day/hour/minute/second

date_floor('2021-08-16','year')→2021-01-01

截断
函数语法 描述 示例说明

block_front(string data[,char a])

对首次出现的特殊符号前的内容进行截断,data 为待处理的字符串,默认特殊字符"@",可自定义符号

123@163.com→@com

block_back(string data[,char a])

对首次出现的特殊符号后的内容进行截断,data 为待处理的字符串,默认特殊字符"@",可自定义符号

123@345@163.com→123@

keep_front(string data,int M)

保留前 M 位,其余截断,输入待处理字符串 data 及保留位数 M

例如M=3,021-1234567→021

keep_back(string data,int N)

保留后 N 位,其余截断,输入待处理字符串 data 及保留位数 N

例如M=3,021-1234567→567

字符位移
函数语法 描述 示例说明

shiftleft(int a,int b)

将整型数字 a 向左位移 b 位,a 表示待处理的数字,b 表示移动的位数

例如 a=2,b=1,2 转换成二进制为 0010,向左移动一位为 0100=4

shiftright(int a,int b)

将整型数字 a 向右位移 b 位,a 表示待处理的数字,b 表示移动的位数

例如 a=4,b=1,2 转换成二进制为 0100,向右移动一位为 0010=2

shiftrightunsigned(int a,int b)

按位无符号右移,a 表示待处理的数字,b 表示移动的位数

例如a=4,b=1,2转换成二进制为0100,向右移动一位为0010=2

掩码屏蔽(不指定掩码长度)
函数语法 描述 示例说明

mask(data_string[, mask_string], pre_length[, post_length])

保留前 n 后 m 位内容,遮盖字符默认为星号(*)

例如 n=1,m=2,浙江省杭州市西湖区胡同口 → ***同口

keep_from(string data,int x,int y)

保留自 x 至 y 位的内容,遮盖字符默认为星号(*)

例如 x=1,y=2,浙江省杭州市西湖区胡同口 → 浙江

cover(String data,int n,int m[char a])

遮盖前 n 后 m 位的内容,遮盖字符默认为星号(*)

例如 n=1,m=2,浙江省杭州市西湖区胡同口→江省杭州市西湖区胡*

mask_from(string data,int x,int y)

遮盖自 x 至 y 位的内容,遮盖字符默认为星号(*)

例如 x=1,y=2,浙江省杭州市西湖区胡同口 → **省杭州市西湖区胡同口

mask_front(string data[,char a])

以首次出现的特殊字符为界,遮盖其前面的内容,可自定义特殊字符 a(默认为 @),遮盖字符(默认为*)

例如 123@456@163.com*@456@163.com

mask_back(string data[,char a])

以首次出现的特殊字符为界,遮盖其后面的内容,可自定义特殊字符 a(默认为 @),遮盖字符(默认为*)

例如 123@456@163.com123@*

mask_specify(string data,int front,int back,int middle[,char a])

保留前 n 后 m 位的内容,遮盖字符默认为星号(*),遮盖字符长度 L

例如 n=1,m=2,L=3,浙江省杭州市西湖区胡同口→ 浙***同口

掩码屏蔽(指定掩码长度)
函数语法 描述 示例说明

keep_from_sl(string data,int x,int y,int l[,char a])

保留自x至y,遮盖字符(默认为*),遮盖字符长度L

例如x=2,y=3,L=3,浙江省杭州市西湖区胡同口 → 江省

cover_sl(string data,int n,int m,int l[,char a])

遮盖前n后m,遮盖字符(默认为*),遮盖字符长度L

例如n=1,m=2,L=3,浙江省杭州市西湖区胡同口 → 江省杭州市西湖区胡

mask_from_sl(string data,int x,int y,int l[,char a])

遮盖自x至y,遮盖字符(默认为*),遮盖字符长度L

例如x=2,y=3,L=3,浙江省杭州市西湖区胡同口 → 浙***杭州市西湖区胡同口

mask_front_sl(string data,int l[,char a])

以首次出现的特殊字符为界,遮盖其前面的内容,自定义特殊字符a(默认为 @),遮盖字符(默认为*),遮盖字符长度 L

例如特殊符号“@”,L=2,123@456@163.com**@456@163.com

mask_back_sl(string data,int l[,char a])

以首次出现的特殊字符为界,遮盖其后面的内容,自定义特殊字符a(默认为 @),遮盖字符(默认为*),遮盖字符长度 L

例如特殊符号“@”,L=2,123@456@163.com123@**

Base64 编码
函数语法 描述 示例说明

base64(bin)

base64编码,将参数从二进制转换为 base 64 字符串

12

对称加密
函数语法 描述 示例说明

des_encrypt(string value,string key)

DES 算法加密,传入待加密内容以及加密密钥(56 位)

输出加密后的字符串

des_decrypt(string buff,string key)

DES 算法解密,传入密文以及密钥以及加密密钥key(56位)

输出解密后的明文内容

triple_des_encrypt(string value,string key)

3DES 算法加密,传入待加密内容以及加密密钥(168位)

输出加密后的字符串(经过Base64编码)

triple_des_decrypt(string value,string key)

3DES 算法解密,传入密文以及加密密钥key(168位)

输出解密后的明文内容

aes_encrypt(input string/binary, key string/binary)

AES 算法加密,传入待加密数据(字符串/二进制)以及加密密钥

输出 aes 加密后的字符串

aes_decrypt(input binary, key string/binary)

AES算法解密,传入二进制密文以及密钥

输出解密后的明文内容

caesar_cipher(data_string[, shift_value])

凯撒加密,传入待加密数据以及偏移量

caesar_cipher('012ABC6789', 1) → 123BCD7890

sm4_encrypt(string data,string key)

国密 SM4,传入待加密数据以及密钥 key(128位)

输出加密后的字符串(经过Hex编码)

sm4_decrypt(string data,string key)

国密 SM4,传入经过 SM4 加密的密文以及密钥(128位)

输出解密后的明文内容

常量替换
函数语法 描述 示例说明

hide(int data,int m)

常量替换,支持 int、string 和 double 类型数据替换

hello → hi

replace(string str,string search,string rep)

关键字替换,将字符串 str 中的 search 部分替换成 rep

原始数据为 abcdefgbcdefgkjkoij,“关键字”配置为“bcde”,“替换字符串”配置为12,则“脱敏结果”显示为 a12fg12fgkjkoij

Hash 脱敏
函数语法 描述 示例说明

md5(string)

哈希脱敏-MD5,传入待处理的字符串

md5("a")

sha1(str or bin)

哈希脱敏-SHA1,传入待处理的字符串

sha1('ABC')

sha2(string/binary, len)

哈希脱敏-SHA2,len 表示加密位数,可以选择 256 或 512

sha2('ABC', 256)

sm3(string data[byte[] data])

国密哈希 SM3,data 表示待处理的数据,支持 string 和 byte[] 类型

sm3('hello world')

hmac(string data,string key)

HMAC 哈希算法,data 表示待处理的数据,key 表示用于认证密钥,同时支持 string 和 byte[]类型

hmac('hello world','R/EF98s2xof7m16m+3b4n/0DDZbbTlDERdedJqfhP94=')

随机替换
函数语法 描述 示例说明

random_str(int L)

生成指定长度 L 的随机字符串替换原字段

例如 L=5,alice → Wzf_v

random(x,y,[seed])

返回一个介于 x 和 y 之间的伪随机数替换原字段,x、y 分别表示随机数的上下限

random(10,50)→39

sequence(int number)

随机生成一个序列替换原整数类型的数据,该序列前两位是字符,后两位是数字,number 表示待替换的整型数字

23 → QY96

blur(double data)

随机生成一个 double 类型的数字替换原 double 类型数字

234→199.17

character_scrambling(string data)

将 String 类型的字段英文字母打乱

hello world → Hwoel lrdlo

phone_confusion(string number)

保持座机号码区号不变的情况下,对其余部分进行混淆

0571-123456→0571-678409