3种常见的数据脱敏方案

3种常见的数据脱敏方案

 

1、SQL 数据脱敏实现

MYSQL(电话号码,身份证)数据脱敏的实现

1
2
3
4
5
6
7
8
9
10
11
12
13
-- CONCAT()、LEFT()和RIGHT()字符串函数组合使用,请看下面具体实现
  
-- CONCAT(str1,str2,…):返回结果为连接参数产生的字符串
-- LEFT(str,len):返回从字符串str 开始的len 最左字符
-- RIGHT(str,len):从字符串str 开始,返回最右len 字符
  
-- 电话号码脱敏sql:
  
SELECT mobilePhone AS 脱敏前电话号码,CONCAT(LEFT(mobilePhone,3), '********' ) AS 脱敏后电话号码 FROM t_s_user
  
-- 身份证号码脱敏sql:
  
SELECT idcard AS 未脱敏身份证, CONCAT(LEFT(idcard,3), '****' ,RIGHT(idcard,4)) AS 脱敏后身份证号 FROM t_s_user

 

2、JAVA数据脱敏实现

可参考:海强 / sensitive-plus

https://gitee.com/strong_sea/sensitive-plus

数据脱敏插件,目前支持地址脱敏、银行卡号脱敏、中文姓名脱敏、固话脱敏、身份证号脱敏、手机号脱敏

 

3、mybatis-mate-sensitive-jackson

mybatisplus 的新作,可以测试使用,生产需要收费。根据定义的策略类型,对数据进行脱敏,当然策略可以自定义。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 目前已有
package mybatis.mate.strategy;
  
public interface SensitiveType {
    String chineseName = "chineseName";
    String idCard = "idCard";
    String phone = "phone";
    String mobile = "mobile";
    String address = "address";
    String email = "email";
    String bankCard = "bankCard";
    String password = "password";
    String carNumber = "carNumber";
}

  

 

posted @   xingmeng1  阅读(1425)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示