JsonSerializer 实现手机号等敏感字段序列化脱敏

news/2024/10/4 15:29:48 标签: java

对于手机号、证件号的等敏感字段,需要使用特定的Jackson 序列化器,实现敏感信息脱敏展示。

1.1 定义手机号序列化器

实现JsonSerializer接口,实现手机号字段的序列化器

java">import cn.hutool.core.util.DesensitizedUtil;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;

import java.io.IOException;

/**
 * 手机号脱敏序列化器
 */
public class PhoneDesensitizationSerializer extends JsonSerializer<String> {

    @Override
    public void serialize(String phone, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        // hutool工具调用,也可以自己实现
        String phoneDesensitization = DesensitizedUtil.mobilePhone(phone);
        jsonGenerator.writeString(phoneDesensitization);
    }
}

1.2 使用自定义的序列化器

在对应字段加上@JsonSerialize注解即可

java">/**
 * 手机号
 */
@JsonSerialize(using = PhoneDesensitizationSerializer.class)
private String phone;

http://www.niftyadmin.cn/n/5690082.html

相关文章

一个简单的SQL面试题

最近面试遇到一个SQL题&#xff0c;复述如下&#xff1a; SQL面试题 现在有两张表&#xff0c;结构如下&#xff1a; 学生表&#xff08;student&#xff09; 学号sid姓名name1张三2李四3王五 成绩表&#xff08;score&#xff09; 序号id学号sid科目subject分数score11语…

day2网络编程项目的框架

基于终端的 UDP云聊天系统 开发环境 Linux 系统GCCUDPmakefilesqlite3 功能描述 通过 UDP 网络使服务器与客户端进行通信吗&#xff0c;从而实现云聊天。 Sqlite数据库 用户在加入聊天室前&#xff0c;需要先进行用户登录或注册操作&#xff0c;并将注册的用户信息&#xf…

【优选算法】(第二十篇)

目录 提莫攻击&#xff08;easy&#xff09; 题目解析 讲解算法原理 编写代码 N字形变换&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 提莫攻击&#xff08;easy&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#x…

程序猿成长之路之设计模式篇——设计模式简介

无论是对于代码质量还是代码可维护性、可扩展性&#xff0c;使用合适的设计模式都能够起到促进提升的作用&#xff0c;此外在软考的软件工程师、系统架构师职称考试中&#xff0c;设计模式也是必考的一块内容&#xff0c;因此我打算开拓一个新的专栏简单介绍一下设计模式&#…

查缺补漏----I/O中断处理过程

中断优先级包括响应优先级和处理优先级&#xff0c;响应优先级由硬件线路或查询程序的查询顺序决定&#xff0c;不可动态改变。处理优先级可利用中断屏蔽技术动态调整&#xff0c;以实现多重中断。下面来看他们如何运用在中断处理过程中&#xff1a; 中断控制器位于CPU和外设之…

27 基于51单片机的方向盘模拟系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;采用两个MPX4115压力传感器作为两路压力到位开关电路&#xff0c; 采用滑动变阻器连接数模转换器模拟重力加速度传感器电路&#xff1b; 一个按键控制LED灯的点亮与…

取反与while错误,while卡死,非成功不结束思想总结

一般我们写函数配置硬件&#xff0c;都需要返回它的成功与否。我们以成功为一&#xff0c;不成功为零&#xff0c;借助这两个变量&#xff0c;我们就可以设计一个死循环&#xff0c;让它不成功不结束的思想 while&#xff08;1&#xff09;{if&#xff08; open&#xff08;&a…

ARM嵌入式学习--第一天

-ARM核介绍 -CPU核 CPU又叫中央处理器&#xff0c;其主要功能是进行算数运算和逻辑运算&#xff0c;内部结构大概可以分为控制单元&#xff0c;算术逻辑单元和储存单元等几个部分 -ARM核 工作模式&#xff1a; user mode:用户模式是用户程序的工作模式&#xff0c;他运行在操作…