Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[새기능] DB 암호화 #174

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from
Open

[새기능] DB 암호화 #174

wants to merge 9 commits into from

Conversation

jyj1289
Copy link
Member

@jyj1289 jyj1289 commented Feb 10, 2025

🎫 관련 이슈

close #172


📄 개요

DB 암호화 기능을 구현하였습니다.


🔨 작업 내용

  • 양방향 암호화 알고리즘 구현하였습니다.
  • GenericAttributeConverter 생성 및 AttributeConvert 구현하였습니다.
  • GenericAttributeconverter를 이용하여 타입별 Covnert를 구현하였습니다.
  • 암호화로 인해 컬럼 길이 제한을 수정하였습니다.
  • 모든 전화번호, 성명, 수험번호, 자기소개서, 학업계획서, 주소 코드, 주소, 상세주소, 생년월일 등의 민감한 컬럼들에 암호화를 적용하였습니다.

🏁 확인 사항

  • 테스트를 완료했나요?
  • API 문서를 작성했나요?
  • 코드 컨벤션을 준수했나요?
  • 불필요한 로그, 주석, import 등을 삭제했나요?

🙋🏻 덧붙일 말

- 양방향 암호화 알고리즘을 구현하기 위해서 jasypt 의존성을 추가했어요.
- 개인정보 보호에 민감한 컬럼들을 암호화하기 위해서 Convert 어노테이션을 추가했어요.
- 양방향 암호화를 위한 Encryptor를 빈으로 주입하기 위해 JasyptConfig 클래스를 작성했어요.
- JasyptConfig 에 들어갈 환경변수를 yml에 추가했어요.
- 데이터베이스 암호화를 위해 LocalDate, Long, String 타입에 대한 Converter를 작성했어요.
- 불필요한 주석을 제거했어요.
- 불필요한 import문을 제거했어요.
- 테스트코드를 제거했어요.
- GenericEncryptedConverter 클래스를 두어 각종 타입 Converter에서 상속받아 사용하여 코드를 더 간결하게 만들었어요.
- 복호화할때 각종 타입으로 형변환을 해주기위해서 함수형 인터페이스인 DecryptionMapper를 생성했어요.
@jyj1289 jyj1289 requested a review from a team as a code owner February 10, 2025 10:56
@jyj1289 jyj1289 linked an issue Feb 10, 2025 that may be closed by this pull request
5 tasks
@jyj1289 jyj1289 self-assigned this Feb 10, 2025
Copy link

이렇게 리뷰해주세요.

🖐️ 규칙

  1. 개선이 필요한지 충분히 설명해주세요.
  2. 답을 알려주기보다는 스스로 고민하고 개선 방법을 선택할 수 있게 해주세요.
  3. 코드를 깔끔하게 유지하고, 일관되게 구현하도록 안내해 주세요.
  4. 리뷰 과정이 숙제검사가 아닌 학습과정으로 느낄 수 있게 리뷰해 주세요.
  5. 리뷰를 위한 리뷰를 하지 마세요. 피드백 할 게 없으면 칭찬해 주세요.

🥬 우선순위

리뷰 중요도에 따라 다음과 같은 prefix를 붙여주세요.

예시 - P5) 쓸모없는 주석 삭제해주세요.

  • P1: 꼭 반영해주세요 (Request changes)
  • P2: 적극적으로 고려해주세요 (Request changes)
  • P3: 웬만하면 반영해 주세요 (Comment)
  • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
  • P5: 그냥 사소한 의견입니다 (Approve)

@jyj1289 jyj1289 added the 새기능 새로운 기능 개발 label Feb 10, 2025
Copy link
Member

@gimhanul gimhanul left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기존 데이터 마이그레이션 필요할까요?
다음 학년 전형 시에 기존 데이터를 다 날리고 새로 쌓는 거면 괜찮을 거 같긴 하나, 확인 필요해보이네용

@jyj1289
Copy link
Member Author

jyj1289 commented Feb 13, 2025

기존 데이터 마이그레이션 필요할까요? 다음 학년 전형 시에 기존 데이터를 다 날리고 새로 쌓는 거면 괜찮을 거 같긴 하나, 확인 필요해보이네용

기존 데이터를 다 날리고 새로 쌓기로 해서 문제없을 거 같습니다 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
새기능 새로운 기능 개발
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[새기능] DB 암호화
3 participants