728x90
반응형
▷ Example
- 영어 이름, 이름 길이 상관 없이 사용자 이름 중간 마스킹 처리
*개선 2024-11-26
public String midMasking(String userName) {
// 사용자 이름 길이가 2자 이하인 경우 마스킹을 하지 않음
if (userName == null || userName.length() <= 2) {
return userName;
}
// 첫 글자 + 중간 글자는 '*'로 마스킹, 마지막 글자
StringBuilder maskedName = new StringBuilder();
maskedName.append(userName.charAt(0)); // 첫 번째 글자
for (int i = 1; i < userName.length() - 1; i++) {
maskedName.append("*"); // 중간 글자는 '*'로 마스킹
}
maskedName.append(userName.charAt(userName.length() - 1)); // 마지막 글자
return maskedName.toString();
}
// 요청 : userName = 사용자이름
// 결과 : 사***름
*개선 전
/** 사용자 이름 마스킹 처리 */
public String midMasking(String userName) {
// 사용자 이름 첫글자
String frsName = userName.substring(0,1);
// 사용자 이름 중간글자
String midName = userName.substring(1, userName.length()-1);
// 사용자 이름 중간글자 마스킹
String cnvMidName = "";
for(int i=0; i< midName.length(); i++){
cnvMidName += "*"; // 중간 글자 수 만큼 * 표시
}
// 사용자 이름 마지막 글자
String lstName = userName.substring(userName.length()-1,userName.length());
// 마스킹 완성된 사용자 이름
String maskingName = frsName + cnvMidName + lstName;
return maskingName;
}
// 요청 : userName = 사용자이름
// 결과 : 사***름
728x90
728x90
'▶ Back-End > Java' 카테고리의 다른 글
JSON 응답 필드 Null 값 제외(@JsonInclude) (0) | 2021.04.30 |
---|---|
해당 월 말일 산출 (0) | 2021.04.23 |
문자열 n번째 이후 마스킹 처리 (0) | 2021.04.22 |
두 지점간의 거리 계산 (0) | 2021.04.16 |
List<Object> 정렬 (0) | 2021.04.16 |
댓글