본문 바로가기
개발/기타

[스크립트] 개인정보 범위와 마스킹예제 (이름/주민번호 등)

by 아크투어 2023. 6. 23.
반응형

Javascript 개인정보 마스킹 

 

개인정보 보호: 개인정보는 신원 도용, 사기, 귀찮은 광고, 스팸 메일 등과 같은 다양한 위협에 노출될수 있다. 마스킹을 통해 개인정보의 일부를 가리면 해당 정보를 쉽게 식별하기 어려워진다.
법적 요구 사항: 개인정보 보호 관련 법규들은 개인정보를 적절히 보호하고 처리하는 것을 요구한다. 개인정보 마스킹은 개인정보 처리 시 이러한 법적 요구 사항을 준수하는데 도움이 된다.

 

1. 개인정보의 범위

  • 개인정보 유형의 종류는 일반적으로 아래처럼 통용된다.

개인정보종류
개인정보 종류

 

 

2. 아이디 마스킹

  • 결과 : korean > kore**
function fnMaskUserId(userId){
    var pattern = /.{2}$/;
    return userId.replace(pattern, "**");
}

※. JSP인경우

<th>아이디</th>
    <td>
        <c:if test="${resultVO.userId ne null && resultVO.userId !='' }">
            <c:out value="${fn:substring(resultVO.userId,0,4) }"/>
            <c:forEach begin="5" end="${fn:length(resultVO.userId)}" step="1">*</c:forEach>
        </c:if>
</td>

아이디 마스킹처리
아이디 마스킹처리

 

3. 이름 마스킹

  • 결과 : 가나 > 가*
  • 결과 : 가나다 > 가*다
  • 결과 : 가나다라 > 가**라
function fnMaskUserNm(param){
    var userNm = param;
    if (userNm == undefined || userNm === '') {
        return '';
    }
	
    if (userNm.length > 2) {
        var tempName = userNm.split('');
        tempName.forEach(function(name, i) {
        if (i === 0 || i === tempName.length - 1) return;
            tempName[i] = '*';
        });
        var result = tempName.join();
        return result.replace(/,/g, '');
    } else {
        var pattern = /.$/;
        return userNm.replace(pattern, '*');
    }
}

 

4. 이메일 마스킹

  • 결과 :  admin@test.co.kr > ad***@test.co.kr
function fnMaskEmail(email){
    var emailAdres = email;
    var length = emailAdres.split('@')[0].length-3;
    return emailAdres.replace(new RegExp('.(?=.{0,' + length + '}@)', 'g'), '*');
}

 

5. 주민등록번호 마스킹

  • 결과 :  123456-1******
function fnMaskJumin(jumin) {
    var pattern = /.{6}$/;
    return jumin.replace(pattern, "******");
}

 

 

6. 차량번호 마스킹

  • 결과 : 12가1234 > 12가1***
  • 결과 : 123가 > 123가1***
function fnMaskCar(carNo) {
    if (carNo == undefined || carNo === '') {
        return '';
    }
    var pattern = /.{3}$/;
    return carNo.replace(pattern, "***");
}
반응형