一文讲透【静态脱敏实操】

news2024/11/29 9:37:31

1:直接上工具类

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.16</version>
</dependency>

2:Hutool 支持的脱敏数据类型
现阶段最新版本的 Hutool 支持的脱敏数据类型如下,基本覆盖了常见的敏感信息。

  1. 用户 id
  2. 中文姓名
  3. 身份证号
  4. 座机号
  5. 手机号
  6. 地址
  7. 电子邮件
  8. 密码
  9. 中国大陆车牌,包含普通车辆、新能源车辆
  10. 银行卡

3:使用 Hutool 工具类一行代码实现脱敏

Hutool 提供的脱敏方法如下图所示:

import cn.hutool.core.util.DesensitizedUtil;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

/**
 * 
 * @description: Hutool实现数据脱敏
 */
@SpringBootTest
public class HuToolDesensitizationTest {

    @Test
    public void testPhoneDesensitization(){
        String phone="13723231234";
        System.out.println(DesensitizedUtil.mobilePhone(phone)); //输出:137****1234
    }
    @Test
    public void testBankCardDesensitization(){
        String bankCard="6217000130008255666";
        System.out.println(DesensitizedUtil.bankCard(bankCard)); //输出:6217 **** **** *** 5666
    }

    @Test
    public void testIdCardNumDesensitization(){
        String idCardNum="411021199901102321";
        //只显示前4位和后2位
        System.out.println(DesensitizedUtil.idCardNum(idCardNum,4,2)); //输出:4110************21
    }
    @Test
    public void testPasswordDesensitization(){
        String password="www.jd.com_35711";
        System.out.println(DesensitizedUtil.password(password)); //输出:****************
    }
}

4:金融行业需要对股票代码进行脱敏,这里提供一种思路:

用Map进行加密0-9 对应 自定义的10个英文字母,比如 0—U 1—q 等等;

如果股票代码是英文则把取英文字母的ascll码乘以2,3,5等等进行加密处理!

这样加密脱敏就完成了,解密就用自定义的密钥Map进行反向操作即可!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/987068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅析目标检测入门算法:YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4

本文致力于让读者对以下这些模型的创新点和设计思想有一个大体的认识&#xff0c;从而知晓YOLOv1到YOLOv4的发展源流和历史演进&#xff0c;进而对目标检测技术有更为宏观和深入的认知。本文讲解的模型包括&#xff1a;YOLOv1,SSD,YOLOv2,YOLOv3,CenterNet,EfficientDet,YOLOv4…

LaTeX总结-2023年9月8日

1. LaTeX总结 文章目录 1. LaTeX总结1.1. 定义作者&#xff0c;通讯作者&#xff0c;地址&#xff0c;宏包1.1.1. Example 11.1.2. Example 21.1.3. 特殊符号——作者标注注 1.2. 调整字体1.2.1. 数学模式下使用正体1.2.2. LaTeX内使用中文1.2.3. 正文文字 1.3. 常用符号及字母…

java - lua - redis 完成商品库存的删减

java调用lua脚本完成对商品库存的管理 主页链接 微风轻吟挽歌的主页 如若有帮助请帮忙点赞 //lua脚本 获取到内存不够的商品StringBuilder sb new StringBuilder();//定义一个数组存储可能缺少库存的值sb.append(" local table {} ");//获取值sb.append(" …

Java中的内部类

文章目录 &#x1f412;个人主页&#x1f3c5;JavaSE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;什么是内部类&#x1f415;内部类的分类&#x1f9f8;成员内部类&#x1f9f8;静态内部类&#x1f9f8;局部内部类&#x1f9f8;匿名内部类 &#x1f415;内部类的特点&a…

navicat设置mysql自动根据插入时间更新时间

使用navicat时间字段要素根据当前数据插入时间自动填充&#xff0c;可设置now()函数

CentOS 8 通过YUM方式升级最新内核

CentOS 8 通过YUM方式升级最新内核 查看当前内核 uname -r 4.18.0-193.6.3.el8_2.x86_64导入 ELRepo 仓库的公钥&#xff1a; rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装升级内核相关的yum源仓库(安装 ELRepo 仓库的 yum 源) yum install https://www…

栈和队列的概念及实现

文章目录 一、栈1.栈的概念2.数组作为顺序栈存储方式特点3.链栈特点4.代码实现栈(1).Stack.h(2).Stack.c(3).Test.c 二、队列2.区分顺序存储的队空和队满的三种处理方式3.代码实现(1).Quene.h(2).Quene.c 一、栈 1.栈的概念 栈的本质就是线性表&#xff0c;但它和队列一样&…

Nginx 学习(九)集群概述与LVS工作模式的配置

一 集群 1 概述 通过高速网络将很多服务器集中起来一起提供同一种服务&#xff0c;在客户端看来就像是只有一个服务器可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益任务调度是集群系统中的核心技术 2 目的 提高性能。如计算密集型应用&…

记LGSVL Map Annotation使用

导入点云 内置的点云导入器工具提供了将最流行的点云文件格式&#xff08;PCD、PLY、LAS、LAZ&#xff09;转换为可用于仿真的数据所需的所有功能。 要访问点云导入器窗口&#xff0c;请在 Unity 编辑器中打开模拟器项目&#xff0c;然后导航到 Simulator/Import Point Cloud…

java 前缀树的实现,敏感词的匹配和标记

目录 一、前缀树的介绍和定义1.前缀树的定义2.前缀树的结构 二、前缀树的实现1.向前缀树中增加词语2.向前缀树中删除词语3.对于使用前缀树进行词语标识&#xff1a;4.前缀树的实现代码 三、前缀树使用及测试1.向前缀树上增加词语2.根据输入匹配前缀树上的词语3.判断前缀树上是否…

Java 基于SpringBoot+Vue的社区医院管理系统的实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 1、效果演示2、 前言介绍3. 技术栈4系统设计4.1数据库设计4.2系统整体设计4.2.1 系统设计思想4.2.…

加拿大CCPSA-SOR/2016-152(婴儿床、摇篮和婴儿摇篮法规)认证要求解答

亚马逊加拿大站儿童床垫CCPSA认证: ●SOR/2016-152&#xff08;婴儿床、摇篮和婴儿摇篮法规&#xff09; ●SOR/2018-83&#xff08;含铅消费品法规&#xff09; ●SOR/2016-193&#xff08;表面涂层材料法规 - 铅&#xff09; ●SOR/2016-188&#xff08;邻苯二甲酸盐&…

大漠插件普通定制版内存调用与com对象调用方法

首先.打开大漠类库生成工具.拖入定制版的dll文件会生成各个语言的调用例子 如下图所示 详见视频教程 大漠插件普通定制版内存调用与com对象调用方法

qt作业day5

//客户端&#xff0c;#include "tcpcli.h" #include "ui_tcpcli.h"TcpCli::TcpCli(QWidget *parent) :QWidget(parent),ui(new Ui::TcpCli) {ui->setupUi(this);//给客户端指针实例化对象cli_sock new QTcpSocket(this);ui->discntBtn->setEnabl…

Docker的运行机制和底层技术简介

&#xff08;笔记总结自《微服务架构基础》书籍&#xff09; 一、Docker的引擎 Docker Engine&#xff08;Docker引擎&#xff09;是Docker的核心部分&#xff0c;使用的是客户端-服务器&#xff08;C/S&#xff09;架构模式&#xff1a; ①Docker Cli&#xff1a;Docker命令…

金融工程学学习笔记第一章

第一章 金融工程概述 什么是金融工程 金融工程的含义 金融工程&#xff1a; 金融工程&#xff1a;一门融现代金融学、数理和工程方法与信息技术与一体的新兴交叉型学科。 工程是指以某种设想的目标为依据&#xff0c;应用有关科学知识和技术手段&#xff0c;通过有组织的一…

AI极客日报0908 - Zoom的AI新功能揭示;助听技术的未来趋势;ChatGPT与Canva的融合;机器人学习策略游戏

最新动态 &#x1f4bb; Zoom推出内置AI助手 概述&#xff1a;Zoom刚刚推出了AI Companion&#xff0c;这是一个嵌入其平台的AI助手&#xff0c;旨在提高生产效率 — 对付费用户来说没有额外费用。 关键点&#xff1a; AI Companion将协助用户撰写聊天回复&#xff0c;自动生…

preload和prefetch、dns-prefetch和preconnect

一、preload和prefetch 二、dns-prefetch和preconnect &#xff08;也是针对未来页面&#xff09; 三、总结

ModuleNotFoundError: No module named ‘lavis‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…