728x90
반응형
1. 이름 마스킹 : 첫 글자 이상 마스킹
예 : 김*, 이**
public static string SetMask(string str, int len) {
// str을 len을 제외하고 나머지 마스킹
string result = string.Empty;
if (string.IsNullOrEmpty(str) || str.Length <= len) return str;
else {
result = str.Substring(0, len);
for (int i = 0; i < str.Length - len; i++) {
result = string.Concat(result, "*");
}
}
return result;
}
2. 주소 마스킹 : 읍,면,동,길,로,가 이하 마스킹
예 : 서울특별시 강남구 신사동 *****, 서울특별시 강서구 화곡로 *****
public static string SetDefaultAddrMask(string str) {
string result = string.Empty;
try {
str = str.Trim();
int blankIndex = str.LastIndexOf(' ');
if (string.IsNullOrEmpty(str) || blankIndex < 0) {
return str;
}
else {
bool isMaskingOrder = false;
var splitSet = new string[] { "읍", "면", "동", "길", "로", "가" };
string[] splitAddr = str.Split(new[] {
" "
},
StringSplitOptions.RemoveEmptyEntries);
foreach(String addr in splitAddr) {
String lastChar = addr.Substring(addr.Length - 1);
if (splitSet.Any(x =>x == lastChar) && !isMaskingOrder) {
isMaskingOrder = true;
result += addr + " ";
}
else {
if (!isMaskingOrder) {
result += addr + " ";
}
else {
for (int i = 0; i < addr.Length; i++) {
result = string.Concat(result, "*");
}
}
}
}
return result;
}
}
catch(Exception ex) {
return result;
}
}
3. 휴대폰번호 마스킹 : 가운데 숫자 마스킹'-', '-' 사이 숫자 마스킹
예 : 010-***-1234
public static string SetPhoneNumMask(string str) {
// '-', '-' 사이 숫자 마스킹, 010-***-1234
string result = string.Empty;
result = str;
try {
str = str.Trim();
if (string.IsNullOrEmpty(str)) {
return str;
}
else {
int startIndex = str.IndexOf('-') + 1;
int lastIndex = str.LastIndexOf('-');
string mask = "*";
if (lastIndex > startIndex) {
for (int i = 0; i < lastIndex - startIndex; i++) {
str = str.Insert(startIndex + i, mask);
}
result = str;
result = result.Remove(startIndex + (lastIndex - startIndex), lastIndex - startIndex);
}
return result;
}
}
catch(Exception ex) {
return result;
}
}
728x90
반응형
'C#' 카테고리의 다른 글
네이버 스마트에디터] 이미지파일 업로드시 Base64인코딩 태그로 수정 (0) | 2021.09.06 |
---|---|
C#] JWT, JSON Web Token 사용법 (0) | 2020.10.23 |
C#] AES128, AES256 암호화 복호화 코드 (0) | 2020.10.16 |
C#] 파일 업로드 시, MIME TYPE 체크, 확장자 필터링 (0) | 2020.10.15 |
C#] XSS(Cross-site Scripting) - 스크립트 필터링 (0) | 2020.10.06 |
댓글