Java数据如何脱敏呢?
下文笔者讲述java中数据脱敏的方法及示例分享,如下所示
Java数据脱敏的实现思路
java数据脱敏可采用以下方法: 1.SQL数据脱敏实现 2.JAVA数据脱敏实现 3.mybatis-mate-sensitive-jackson例:
1.SQL数据脱敏实现
数据查询时,对返回的数据进行脱敏例
MYSQL(电话号码,身份证)数据脱敏的实现 -- 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数据脱敏实现
数据脱敏插件 目前支持地址脱敏、 银行卡号脱敏、 中文姓名脱敏、 固话脱敏、 身份证号脱敏、 手机号脱敏、 密码脱敏
mybatis-mate-sensitive-jackson
mybatis-mate-sensitive-jackson 根据定义的策略类型 对数据进行脱敏 当然策略可以自定义 # 目前已有 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"; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。