본문 바로가기

반응형

Spring/boot

(4)
JPA 사용 시 암호화 복호화 적용하기 : ColumnTransformer 실무에서 DB 테이블에서 일부 컬럼에 암호화된 정보가 저장되고, 화면에 리턴 해줄때 복호화되어 뿌려줘야하는 로직을 담당하게 되었습니다. 기존 Mybatis를 사용할 때는 MySQL의 Function을 이용하여 아래와 같이 이용하였습니다.INSERT INTO test_table(plain_text, encrypt_text)VALUES ("abc", encrypt_function("abc");SELECT plain_text, decrypt_function(encrypt_text)FROM test_table; JPA에서도 동일한 결과를 기대하였지만 dirty checking이 발생하여 암호화된 데이터를 불러온 후 복호화를 하게 되면 복호화된 데이터가 저장되게 되었고 다음 로직부터 오류가 발생하여 이를 해결하기..
Spring boot log 파일을 AWS S3에 자동으로 업로드 시키기 spring boot 2.7.3 버전에서 작성된 코드입니다. logback class, core 1.2.11 버전의 라이브러리입니다. 또한 아래 옵션으로 로그를 보존한다는 가정하에 글을 작성합니다. - Appender : RollingFileAppender - RollingPolicy : SizeAndTimeBasedRollingPolicy AWS S3 라이브러리 : com.amazonaws:aws-java-sdk-s3:1.12.290 아래는 Import 코드 입니다. import ch.qos.logback.core.Context; import ch.qos.logback.core.CoreConstants; import ch.qos.logback.core.FileAppender; import ch.qos...
Junit VM Options @SpringBootTest 어노테이션에 properties 옵션을 추가 @SpringBootTest(properties = { "server.port=8080", "spring.profiles.active=local" }) OR 테스트 전용 어노테이션을 테스트 폴더에 생성 import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.TestConstructor; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import..
Jasypt를 이용한 암호화 - application.ymlspring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/testDb?serverTimezone=Asia/Seoul username: userName password: password - application.propertiesspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/testDb?serverTimezone=Asia/Seoulspring.datasource.username=userNam..

반응형