冰河技术
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
导读
♻学习路线
  • 面试必问系列

    • 面试必问
  • 架构与模式

    • Java极简设计模式
    • 实战高并发设计模式
  • Java核心技术

    • Java8新特性
    • IOC核心技术
    • JVM调优技术
  • 容器化核心技术

    • Dockek核心技术
  • 分布式存储

    • Mycat核心技术
  • 数据库核心技术

    • MySQL基础篇
  • 服务器核心技术

    • Nginx核心技术
  • 渗透核心技术

    • 渗透实战技术
  • 底层技术
  • 源码分析
  • 基础案例
  • 实战案例
  • 面试
  • 系统架构
  • Spring6核心技术
  • 分布式事务

    • 分布式事务系列视频
  • SpringBoot
  • SpringCloudAlibaba
  • 🔥AI大模型项目

    • 一站式AI智能平台
    • AI智能客服系统
    • AI智能问答系统
    • 实战AI大模型
  • 中间件项目

    • 手写高性能Redis组件
    • 手写高性能脱敏组件
    • 手写线程池项目
    • 手写高性能SQL引擎
    • 手写高性能Polaris网关
    • 手写高性能RPC项目
  • 高并发项目

    • 分布式IM即时通讯系统(新)
    • 分布式Seckill秒杀系统
    • 实战高并发设计模式
  • 微服务项目

    • 简易电商脚手架项目
  • 手撕源码

    • 手撕Spring6源码
🌍知识星球
  • 总览

    • 《书籍汇总》
  • 出版图书

    • 《深入理解高并发编程:核心原理与案例实战》
    • 《深入理解高并发编程:JDK核心技术》
    • 《深入高平行開發:深度原理&專案實戰》
    • 《深入理解分布式事务:原理与实战》
    • 《MySQL技术大全:开发、优化与运维实战》
    • 《海量数据处理与大数据技术实战》
  • 电子书籍

    • 《实战高并发设计模式》
    • 《深入理解高并发编程(第2版)》
    • 《深入理解高并发编程(第1版)》
    • 《从零开始手写RPC框架(基础篇)》
    • 《SpringCloud Alibaba实战》
    • 《冰河的渗透实战笔记》
    • 《MySQL核心知识手册》
    • 《Spring IOC核心技术》
  • 关于自己
  • 关于学习
  • 关于职场
B站
Github
  • 开篇:专栏介绍

    • 开篇:我要带你从零开始手搓一个大厂必备的数据脱敏组件
  • 第01部分:需求设计

    • 第01节:为何要学习高性能脱敏组件
    • 第02节:高性能脱敏组件的目标与挑战
    • 第03节:高性能脱敏组件功能需求与流程梳理
  • 第02部分:总体架构设计

    • 第01节:高性能脱敏组件总体方案目标与架构设计
    • 第02节:高性能脱敏组件的通用化落地方案
  • 第03部分:脱敏设计实现

    • 第01节:注解、接口与顶层抽象类的设计与实现
    • 第02节:高性能脱敏组件通用脱敏方法的设计与实现
    • 第03节:高性能脱敏组件注解通用解析设计与实现
    • 第04节:内置各种常见数据脱敏器的设计与实现
  • 第04部分:扩展设计实现

    • 第01节:高性能脱敏数据组件拓展实现日志脱敏
  • 第05部分:测试场景验证

    • 第01节:高性能脱敏组件单元测试场景验证
    • 第02节:高性能脱敏组件JMH基准性能测试
  • 第06部分:专栏总结

    • 总结:高性能脱敏组件整体专栏总结

《高性能脱敏组件》脱敏设计-第02节:高性能脱敏组件通用脱敏方法的设计与实现

作者:冰河
星球:http://m6z.cn/6aeFbs
博客:https://binghe.site
文章汇总:https://binghe.site/md/all/all.html
源码获取地址:https://t.zsxq.com/0dhvFs5oR

沉淀,成长,突破,帮助他人,成就自我。

  • 本章难度:★★☆☆☆
  • 本章重点:对高性能脱敏组件的通用脱敏方法进行设计和实现,从全局角度掌握高性能脱敏组件对敏感信息和隐私数据脱敏的核心设计思路和设计方法。重点掌握通用中间件项目的设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

大家好,我是冰河~~

高性能脱敏组件最基础和最核心的功能就是对敏感信息和隐私数据进行脱敏,将数据中的敏感信息和隐私数据脱敏成指定的字符,以免对敏感信息和隐私数据造成泄露。 高性能脱敏组件提供了三种接入方式:通用方法接入、注解方式接入和日志方式接入。接下来,就对高性能脱敏组件的通用脱敏方法进行设计和实现。

一、前言

在需求设计篇章,我们梳理了为何学习高性能脱敏组件,阐述了高性能脱敏组件的目标与挑战,对设计高性能脱敏组件面对的挑战给出了详细的应对方案,并且从功能性需求和非功能性需求等方面详细梳理了高性能脱敏组件的需求。

在架构设计篇章,详细阐述了高性能脱敏组件的方案目标、技术选型和总体架构设计。并且对高性能脱敏组件的通用化落地方案进行了简单的说明。

在脱敏设计篇章,我们已经开始对高性能脱敏组件进行编码设计和实现,目前,已经对注解、接口与顶层抽象类进行了设计和实现。接下来,就对高性能脱敏组件的通用脱敏方法进行设计和实现。

二、本节诉求

对高性能脱敏组件的通用脱敏方法进行设计和实现,从全局角度掌握高性能脱敏组件对敏感信息和隐私数据脱敏的核心设计思路和设计方法。重点掌握通用中间件项目的设计思路和设计方法,并能够将其灵活应用到自身实际项目中。

三、核心类设计

注意:本节只给大家展示高性能脱敏组件通用脱敏方法的核心类实现关系,其他代码的实现细节,大家可以自行到本节对应的源码分支进行查看,这里不再赘述。

高性能脱敏组件通用脱敏方法的核心类设计如图2-1所示。


可以看到,高性能脱敏组件的通用脱敏方法主要由SensitiveDataUtils工具类customizeHide()方法实现。在customizeHide()方法中,主要提供了如下四个参数:

  • sensitiveData:要脱敏的字符串。
  • frontCharNum:脱敏后字符串开头部分保留多少个原始字符。
  • tailCharNum:脱敏后字符串结尾部分保留多少个原始字符。
  • hiddenCharNum:脱敏后字符串中间部分使用多少个*替换原始字符。

四、编码实现

本节的编码实现比较简单,就是对SensitiveDataUtils工具类进行编码实现。

源码详见:io.binghe.framework.shield.utils.SensitiveDataUtils。

查看完整文章

加入冰河技术知识星球,解锁完整技术文章、小册、视频与完整代码

在 GitHub 上编辑此页
上次更新: 2026/5/2 00:42
Contributors: binghe001
Prev
第01节:注解、接口与顶层抽象类的设计与实现
Next
第03节:高性能脱敏组件注解通用解析设计与实现
阅读全文
×

扫码或搜索:冰河技术
发送:290992
即可立即永久解锁本站全部文章

星球会员
跳转链接