sensitive
sensitive copied to clipboard
🔐Sensitive log tool for java, based on java annotation. (基于注解的 java 日志脱敏工具框架,更加优雅的日志打印。支持自定义哈希、支持基于 log4j2 插件的统一脱敏、支持 logback 插件统一脱敏)
失去了前缀丢失数据以及后缀丢失数据
请问,这种自定义策略类,想用StringEncryptor ,该怎么注入呢? ` public class CustomPasswordStrategy implements IStrategy { @Autowired private StringEncryptor stringEncryptor; @Override public Object des(Object original, IContext context) { String encryptStr = stringEncryptor.decrypt(ObjectUtil.objectToString(original)); return encryptStr; } } `
大佬好,对于大部分老系统,已有大量的日志打印,如果每个去修改调用脱敏方法,工作量非常大。是否可以考虑基于SLF4j实现拦截器形式的统一脱敏?目标是尽量不改动原有代码。
基于注解的脱敏比较消耗性能,需要添加基于slf4j的日志脱敏
性能消耗怎么样?
我们现在单条日志在2M左右 , 而且量特别大, 请问性能损耗怎么样?
比如不是将phone字段按照176****456输出, 而是将phone加密, 这样是否支持呢
com.github.houbb.sensitive.core.api.SensitiveService 102行中的 fieldNewObject 会出现 NullPointerException
在层级比较多的情况,使用SensitiveUtil.desJson进行脱敏的时候,com.github.houbb.sensitive.core.api.SensitiveService 102行中的 fieldNewObject 如果为null会出现 NullPointerException,导致死循环,同时还包括 113 行中的 arrayEntry; 同时还包括 com.github.houbb.sensitive.core.util.entry.SensitiveEntryUtil 中 26行的 Annotation annotation = var2[var4]; 同样会出现 java.lang.NullPointerException: null,导致错误,需要进行判空操作
一些优化建议
**1.白名单** 我想要的白名单是针对字段的,比如:"chars.scan.whiteList=id,ywlsh",但目前的白名单竟然是针对值的 **2.全局配置** 增加全局字段配置,针对特定字段做脱敏处理。比如接口对接过程中,以base64的形式传输图片,针对这种字段我希望全脱。规则之外的一些字段,如汽车的号牌号码的半脱。 比如配置成: chars.scan.blackList=sfzImg:13,headImg:12,hphm:12 **3.注解** 是否可增加 @SensitiveStrategyIgnore,虽然配置到了正则规则,但不处理。
chars-scan 的源码在哪里?
在对象层级比较多的情况下,并且其中对象的子对象的子对象存在 null,使用 SensitiveUtil.desJson 会出现 NullPointerException,通过跟踪发现是因为 com.github.houbb.sensitive.core.support.filter.DefaultContextValueFilter 中的 147 行中的 field 会出现 NullPointerException