최근 개인정보 보호의 중요성이 높아지면서 개발 할 때도 보안적으로 신경써야 할 부분이 많다. 서비스에 등록된 고객 또는 내부직원 리스트를 나열 할 때도 개인정보는 식별되기 어렵도록 마스킹 처리를 하게 되는데 이번 포스팅에서는 Java단에서 마스킹 하는법에 대해 알아보도록 하자
DB에서 이름을 select할 때 쿼리문에서 마스킹 하는 방법이 있지만 개인정보는 DB에 저장할 때 AES등의 암호화 알고리즘을 사용하여 암호화 후 저장하기 때문에 암호화된 데이터를 가져온 후 Java단에서 복호화 한 후 마스킹 처리를 하고 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /** * 이름 마스킹 처리(성을 제외한 이름 마스킹 처리) * @author 20151047 * @param name * @return string */ public static String maskingName(String name){ String maskedName = ""; // 마스킹 이름 String firstName = ""; // 성 String lastName = ""; // 이름 int lastNameStartPoint; // 이름 시작 포인터 if(!name.equals("") || name != null){ if(name.length() > 1){ firstName = name.substring(0, 1); lastNameStartPoint = name.indexOf(firstName); lastName = name.substring(lastNameStartPoint + 1, name.length()); String makers = ""; for(int i = 0; i < lastName.length(); i++){ makers += "*"; } lastName = lastName.replace(lastName, makers); maskedName = firstName + lastName; }else{ maskedName = "*"; } } return maskedName; } | cs |
'Java' 카테고리의 다른 글
[Lombok] 반복되는 코드작업을 해결해주는 코드 다이어터 롬복 (0) | 2020.06.09 |
---|---|
[Java] 휴대폰 번호 마스킹 처리 (0) | 2018.02.22 |
[Java]java.lang.UnsupportedClassVersionError... Unsupported major.minor version 52.0 (0) | 2018.02.09 |