数据脱敏
最后更新:2025-06-28 05:30:07
|
状态:未完成
//列名支持正则 //两种方式脱敏 //1.omit 显示指定位数 短文本适合 如把公司、联系人、地址列 显示部分内容 //2.替换关键字 长文本适合 如从正文中替换手机号 //两个作用范围 //1.ConfigTable全局生效 //2.ConfigStore针对当前查询生效 //两个阶段可执行 //1.ConfigTable ConfigStore在执行查询过程中执行 //2.DataSet DataRow在查询后执行 直接调用omit和replaceAll方法 ConfigTable.IS_AUTO_MASK_OMIT = true; ConfigTable.MASK_OMIT_COLUMN = "NAME;.*DE"; //需要脱敏的列 多个以;分隔 注意不是, ConfigTable.MASK_OMIT_VOL = 5; //先拆成不大于VOL长度的串 VOL大于1时有效 ConfigTable.MASK_OMIT_ELLIPSIS = "-"; //默认* DataRow row = new DataRow(); row.put("NAME", "张三三三三"); row.put("CODE", "1830000"); ServiceProxy.insert("crm_user", row); DataSet set = ServiceProxy.querys("crm_user"); System.out.println(set); ConfigTable.IS_AUTO_MASK_OMIT = false; ConfigTable.IS_AUTO_MASK_REPLACE = true; //根据正则匹配需要脱敏的列 把183换成130如果不指定130则换成 MASK_REPLACE_REPLACEMENT ConfigTable.MASK_REPLACE_REGEX = "183:130"; ConfigTable.MASK_REPLACE_REPLACEMENT = "000"; ConfigTable.MASK_REPLACE_COLUMN = ".*DE"; //需要脱敏的列 多个以;分隔 注意不是, set = ServiceProxy.querys("crm_user"); System.out.println(set); //只针对 当前查询 ConfigStore与ConfigTable有一样的属性 ConfigStore configs = new DefaultConfigStore(); configs.MASK_OMIT_COLUMN("NAME"); set = ServiceProxy.querys("crm_user", configs); System.out.println(set);