Skip to content

[프로젝트 설계] 유저 테이블 암호화

MoonMinHyuk1 edited this page Apr 25, 2023 · 1 revision

배경

  • 저희 서비스의 데이터베이스는 기본적으로 컬럼에는 암호화를 하고 있지 않습니다
  • 하지만 유저의 개인정보에 대해서는 보안을 강화하고자 유저 테이블 컬럼 중 닉네임, 전화번호, 이메일, 비밀번호에 대해서는 추가적으로 암호화를 진행하고자 했습니다.
  • 암호화를 진행할 때 유저 테이블의 로우를 조회하면 해당 데이터를 읽어야 하므로, 단방향이 아닌 양방향 암호화를 진행했습니다.

진행과정

1. 암복호화를 처리해주는 Util파일을 생성해주었습니다.

스크린샷 2023-04-26 오전 2 52 05

2. 데이터가 데이터베이스에 저장, 조회될 때 지정한 작업을 수행해주는 컨버터 클래스를 만들고, 엔티티 속성에 해당 컨버터를 적용해주었습니다.

스크린샷 2023-04-26 오전 2 53 01
스크린샷 2023-04-26 오전 2 54 02

결과

스크린샷 2023-04-26 오전 2 59 01

암호화를 적용한 후, 실제 데이터베이스에 저장된 로우입니다.

Clone this wiki locally