美文网首页
日志脱敏之后,无法根据信息快速定位怎么办?

日志脱敏之后,无法根据信息快速定位怎么办?

作者: 老马啸西风2020 | 来源:发表于2023-05-31 21:13 被阅读0次

日志脱敏之殇

小明同学在一家金融公司上班,为了满足安全监管要求,最近天天忙着做日志脱敏。

无意间看到了一篇文章金融用户敏感数据如何优雅地实现脱敏? 感觉写的不错,用起来也很方便。

不过日志脱敏之后,新的问题就诞生了:日志脱敏之后,很多问题无法定位。

比如身份证号日志中看到的是 3****************8,业务方给一个身份证号也没法查日志。这可怎么办?

唯一.jpg

安全与数据唯一性

类似于数据库中敏感信息的存储,一般都会有一个哈希值,用来定位数据信息,同时保障安全。

那么日志中是否也可以使用类似的方式呢?

说干就干,小明在开源项目 sensitive 基础上,添加了对应的哈希实现。

使用入门

开源地址

https://github.com/houbb/sensitive

使用方式

1)maven 引入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>sensitive-core</artifactId>
    <version>1.1.0</version>
</dependency>

2)引导类指定

SensitiveBs.newInstance()
.hash(Hashes.md5())

将哈希策略指定为 md5

3)功能测试

final SensitiveBs sensitiveBs = SensitiveBs.newInstance()
                .hash(Hashes.md5());

User sensitiveUser = sensitiveBs.desCopy(user);
String sensitiveJson = sensitiveBs.desJson(user);

Assert.assertEquals(sensitiveStr, sensitiveUser.toString());
Assert.assertEquals(originalStr, user.toString());
Assert.assertEquals(expectJson, sensitiveJson);

可以把如下的对象

User{username='脱敏君', idCard='123456190001011234', password='1234567', email='12345@qq.com', phone='18888888888'}

直接脱敏为:

User{username='脱**|00871641C1724BB717DD01E7E5F7D98A', idCard='123456**********34|1421E4C0F5BF57D3CC557CFC3D667C4E', password='null', email='12******.com|6EAA6A25C8D832B63429C1BEF149109C', phone='1888****888|5425DE6EC14A0722EC09A6C2E72AAE18'}

这样就可以通过明文,获取对应的哈希值,然后搜索日志了。

新的问题

不过小明还是觉得不是很满意,因为有很多系统是已经存在的。

如果全部用注解的方式实现,就会很麻烦,也很难推动。

应该怎么实现呢?

小伙伴们有什么好的思路?欢迎评论区留言

相关文章

  • Java日志记录最佳实践

    一、日志简介 1.1 日志是什么(WHAT) 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。...

  • logback(二)—layout和MDC机制

    如何根据日志文件快速定位到应用的行为。 1. layout Layout组件:([累奥特] 布局),将日志事件进行...

  • 日志

    日志 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题可用于 问题追踪:辅助排查和定位线上问题,...

  • SpringBoot--日志系统解析

    日志介绍 日志作用:记录程序的运行轨迹,方便查找关键信息以及快速定位解决问题 日志实现框架 具体的日志功能实现 日...

  • springboot日志体系---log4j2

    最近调试代码和运行代码的时候,一些日志打印的乱七八槽,根据日志很难快速定位到问题,感觉自己是为了打印日志而打印日志...

  • iOS开发-根据友盟统计错误分析查找线上BUG

    参考博客 根据友盟统计错误分析查找线上BUG(工具篇)Xcode如何快速的根据错误日志定位到相应的代码根据友盟统计...

  • 4-9 Linux 中的日志分析

    日志:系统、软件 和 用户操作交互信息的记录文件。用于系统审核,日常故障快速定位和排错。 日志文件保存在 /var...

  • swift自定义log

    日志的作用 在开发过程中,在代码行间打印日志,可以帮助开发者快速定位想要的信息,需要注意的是打印日志是非常消耗性能...

  • linux服务器宕机

    1 首先查看日志文件命令:tail -f /var/log/messages 2 根据报错信息,定位到内存溢出出现...

  • Springboot 日志(待续)

    简单的说,日志就是记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题。本篇文章分为三部分讲解: 常用日志...

网友评论

      本文标题:日志脱敏之后,无法根据信息快速定位怎么办?

      本文链接:https://www.haomeiwen.com/subject/punyedtx.html