今天有个需求,就是把用户名称用*进行隐藏,给第三方使用,想来其实挺简单,几行代码,给大家贴出来,记录下,方便以后碰到还要在写,直接复制拿走
// 数据脱敏处理
Integer RESULT_NAME_LENGTH =2;
userInforMessageList.stream().forEach(item->{
String userName = item.getString("username").trim();
char[] r = userName.toCharArray();
String resultName = "";
if(r.length == RESULT_NAME_LENGTH){
resultName = r[0]+"*";
}
if (r.length > RESULT_NAME_LENGTH) {
String star = "";
for (int i = 0; i < r.length-RESULT_NAME_LENGTH; i++) {
star=star+"*";
}
resultName = r[0]+star+r[r.length-1];
}
item.put("username",resultName);
});
两个字的名称就隐藏最后一位,三个字或者以上的隐藏中间的,代码写的很清楚,理解性copy
代码简单,记得收藏