• java 数据脱敏


    1.SQL数据脱敏实现

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

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

    2.JAVA数据脱敏实现

    数据脱敏插件,目前支持地址脱敏、银行卡号脱敏、中文姓名脱敏、固话脱敏、身份证号脱敏、手机号脱敏、密码脱敏 一个是正则脱敏、另外一个根据显示长度脱敏,默认是正则脱敏,可以根据自己的需要配置自己的规则。

    3.hutools工具类

    引入hutools包

    
        cn.hutool
        hutool-all
        5.7.21
    

     hutools提供了一个工具类 DesensitizedUtil,目前提供了以下几种脱敏方式

     使用

    1. // 手机号中间4位脱敏
    2. DesensitizedUtil.mobilePhone(user.getMobilePhone())
    3. // 身份证保留前2位,最后2位
    4. DesensitizedUtil.idCardNum(user.getIdCardNum(), 2,2)

    4.mybatis-mate-sensitive-jackson

    mybatisplus 的新作,可以测试使用,生产需要收费。

    根据定义的策略类型,对数据进行脱敏,当然策略可以自定义。

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

    使用

    1. @Getter
    2. @setter
    3. public class User {
    4. private Long id;
    5. /**
    6. *这里是一个自定义的策略@link SensitivestrategyConfig}初化注入
    7. */
    8. @FieldSensitive("testStrategy")
    9. private String username;
    10. /**
    11. *默认支持策略{@link SensitiveType}
    12. **/
    13. @FieldSensitive(SensitiveType.mobile)
    14. private String mobile;
    15. @FieldSensitive(SensitiveType.email)
    16. private String email;
    17. }

  • 相关阅读:
    汇编语言外中断
    有了这份2022Java面试八股文,进大厂稳了!
    Jmeter 模拟多用户登录的两种方法
    go的slice学习
    共享单车数据处理与分析
    半胱氨酸/半乳糖/苝二酰亚胺功能化Fe3O4四氧化三铁纳米材料|科研试剂
    flink三种集群运行模式的优缺点对比
    DNS域名解析
    FineReport数据图表制作-标签控件
    如何创建CSR证书请求文件?
  • 原文地址:https://blog.csdn.net/zxl646801924/article/details/127987346