java写一个对密码脱敏的函数
时间: 2024-03-23 17:38:04 浏览: 119
以下是一个Java函数,可以对密码进行脱敏处理,将密码中的前n位和后n位保留,中间的部分用"*"代替:
```java
public static String desensitizePassword(String password, int keep) {
if (password == null || password.length() == 0) {
return "";
}
int length = password.length();
if (length <= keep * 2) {
return password;
} else {
String prefix = password.substring(0, keep);
String suffix = password.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();
}
}
```
其中,password为原始密码,keep为需要保留的字符数,函数返回脱敏后的密码。例如,如果原始密码为"123456",keep为2,则脱敏后的密码为"12****56"。
阅读全文