반응형
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, "***");
}
반응형
'개발 > 기타' 카테고리의 다른 글
[Json] 배열형태의값을 서버로 전달 (Jquery by Spring) (0) | 2023.07.18 |
---|---|
[jQuery] Ajax 데이터 <-> Spring 컨트롤러 주고받기 (0) | 2023.06.28 |
[RTSP] nodejs로 rtsp 실시간 스트리밍 서버구축 (0) | 2023.05.04 |
[JQuery] select2 jquery 플러그인 사용하기 (1) | 2023.04.24 |
[Jquery] jQuery sweetalert2 alert창 사용하기 (0) | 2023.04.16 |