数据库保留脱敏后的数据,通过工具类隐藏敏感信息
通过截取字符串的方式
数据库保留不脱敏数据,对返回给前端结果进行脱敏处理
对查询的结果进行脱敏处理
通过sql数据脱敏
- CONCAT()、LEFT()和RIGHT()字符串函数组合使用
- CONCAT(str, str, str…):返回连接的字符串(其中不能未null,否则返回结果就null)
- LEFT(str, len):返回指定的最左边的字符数(str:字符串,len:长度)
- RIGHT(str, len):返回指定的最右边的字符数
# 身份证:年月日脱敏,前6后4不脱敏 350122 20000201 1535
select concat(left(身份证号码,6),'********', right(身份证号码,4)) as idcard from 表名
- INSERT(str, pos, len, newstr)函数:在指定位置插入子字符串,最多指定字符数
- str
- pos: 起始位置 如果pos不在字符串的长度内,则返回原始字符串 pos如果 len不在字符串其余部分的长度内,则从位置替换字符串的其余部分
- len:长度
- newstr :替换的字符串
# 手机号:前三后四不脱敏,中间脱敏 156 2351 1365
select insert(phone, 4, 4, '****') as phone from 表名
通过Java工具类进行脱敏
hutool 中有个信息脱敏工具,在此就不做描述,举例说明
文档地址