用java写一个对用户名脱敏的函数
时间: 2024-03-23 20:38:06 浏览: 182
Oracle自定义脱敏函数的代码详解
以下是一个Java函数,可以对用户名进行脱敏处理,将用户名中的前n位和后n位保留,中间的部分用"*"代替:
```java
public static String desensitizeUsername(String username, int keep) {
if (username == null || username.length() == 0) {
return "";
}
int length = username.length();
if (length <= keep * 2) {
return username;
} else {
String prefix = username.substring(0, keep);
String suffix = username.substring(length - keep);
StringBuilder builder = new StringBuilder();
builder.append(prefix);
for (int i = 0; i < length - keep * 2; i++) {
builder.append("*");
}
builder.append(suffix);
return builder.toString();
}
}
```
其中,username为原始用户名,keep为需要保留的字符数,函数返回脱敏后的用户名。例如,如果原始用户名为"zhangsan",keep为2,则脱敏后的用户名为"zh****an"。
阅读全文