package cn.lettin.common.utils;
import cn.lettin.common.config.LettinLoginWayConfig;
import org.apache.commons.lang3.StringUtils;
public class AccountPrivacyUtils {
public static String hideAccount(String account) {
if (StringUtils.isBlank(account)) {
return account;
}
LettinLoginWayConfig way = LettinLoginWayConfig.checkLoginWay(account);
int index;
switch (way) {
case MAIL:
index = account.indexOf("@");
return hideString(account.substring(0, index)) + account.substring(index);
case PHONE:
index = account.indexOf("-");
return hideString(account.substring(index + 1));
default:
return account;
}
}
public static String hideString(String sub) {
int a, b, m;
a = sub.length() / 3;
m = sub.length() % 3;
if (m == 2) {
b = a + 1;
} else {
b = a;
}
StringBuilder builder = new StringBuilder();
builder.append(sub, 0, a);
for (int i = b; i > 0; i--) {
builder.append("*");
}
builder.append(sub.substring(a + b));
return builder.toString();
}
}