当前位置:当前位置:首页 >人工智能 >一文学会注解的正确使用姿势 正文

一文学会注解的正确使用姿势

[人工智能] 时间:2025-11-05 02:08:24 来源:益强IT技术网 作者:数据库 点击:58次

 

前言

日志作为排查问题的文学重要手段,可以说是正确姿势应用集成中必不可少的一环,但在日志中,使用又不宜暴露像电话,文学身份证,正确姿势地址等个人敏感信息,使用去年 Q4 我司就开展了对 ELK 日志脱敏的文学全面要求。那么怎样快速又有效地实现日志脱敏呢。正确姿势相信读者看完标题已经猜到了,使用没错,文学用注解!那么用注解该怎么实现日志脱敏呢,正确姿势除了日志脱敏,使用注解还能用在哪些场景呢,文学注解的正确姿势实现原理又是怎样的云服务器呢。本文将会为你详细介绍。使用

本文将会从以下几个方面来介绍注解。

日志脱敏场景简介 巧用注解解决这两类问题 注解的定义与实现原理 使用注解解决日志脱敏 注解高级用法-解决银行中参数传递顺序要求

相信大家看了肯定有收获!

日志脱敏场景简介

在日志里我们的日志一般打印的是 model 的 Json string,比如有以下 model 类

public class Request {     /**      *  用户姓名      */     private String name;     /**      *  身份证       */     private String idcard;     /**      *  手机号      */     private String phone;     /**      *  图片的 base64      */     private String imgBase64; } 

有以下类实例

Request request = new Request(); request.setName("爱新觉罗"); request.setIdcard("450111112222"); request.setPhone("18611111767"); request.setImgBase64("xxx"); 

我们一般使用 fastJson 来打印此 Request 的 json string:

log.info(JSON.toJSONString(request)); 

这样就能把 Request 的所有属性值给打印出来,日志如下:

{"idcard":"450111112222","imgBase64":"xxx","name":"张三","phone":"17120227942"} 

这里的日志有两个问题

安全性: name,phone, idcard 这些个人信息极其敏感,不应以明文的形式打印出来,我们希望这些敏感信息是网站模板以脱敏的形式输出的 字段冗余:imgBase64 是图片的 base64,是一串非常长的字符串,在生产上,图片 base64 数据对排查问题帮助不大,反而会增大存储成本,而且这个字段是身份证正反面的 base64,也属于敏感信息,所以这个字段在日志中需要把它去掉。我们希望经过脱敏和瘦身(移除 imgBase64 字段)后的日志如下: {"idcard":"450

(责任编辑:应用开发)

    相关内容
    精彩推荐
    热门点击
    友情链接