본문 바로가기

프로그래밍 언어/Java

[Java] 이름 익명 처리 (masking)

************************************************************************
[커뮤니티]-[수강후기] 페이지 리스트
************************************************************************
@RequestMapping("/community/review")
public ModelAndView getReviewList(
        HttpServletRequest req, HttpServletResponse res,
        @RequestParam(value="currentPage", defaultValue="1") int currentPage,
        @RequestParam(value="listSize", defaultValue="9") int listSize
        ) throws Exception {
        
        List<ReviewVO> reviewList = reviewService.selectReviewAll((currentPage - 1) * listSize, listSize); 
        
        ArrayList<String> reviewNameList = new ArrayList<>();
        String reviewName = "";
        
        for (ReviewVO review : reviewList) {
            String regUserName = review.getRegUserName(); 
            String nameMask = regUserName.substring(1, regUserName.length());
            String masking = "";
            for(int i=0; i< nameMask.length(); i++) {
                masking += "○";
                reviewName = regUserName.replace(nameMask, masking);
            }
            reviewNameList.add(reviewName);
        }			

        int count = reviewService.selectReviewTotalCount();
        //페이징
        Pager page = new Pager(currentPage, count, listSize, 10);
        
        ModelAndView mv = new ModelAndView("/community/review");
        mv.addObject("page", page);
        mv.addObject("totalCount", count);
        mv.addObject("reviewList", reviewList);
        mv.addObject("reviewNameList", reviewNameList);
        
        return mv;
}

 

상기 코드는 성 이하 글자를 "○"으로 바꿔 익명 처리하는 코드다. (ex. 김○○)

이외에도 하기 방법으로 다양하게 마스킹 처리를 할 수 있다.

 

- 정규식 사용

- JavaScript 사용

 

(상기 방법으로 '이름, 휴대폰 번호, 계좌번호, 이메일, 생년월일, 카드번호, 주소' 등의 마스킹 처리 내용은 추후 추가 예정)

더보기