jasypt를 사용하는 여러가지 방법이 있지만, 여기에서는 간단히 spring boot와 함께 사용할 수 있는
jasypt-spring-boot를 이용해 진행해보도록 하겠다.
사용방법은 간단하다.
아래와 같이 먼저 jasypt 라이브러리를 프로젝트 내에 추가해준다.
compile group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot', version: '1.12'
그리고 나서, 아래와 같이 Configuration파일에서 @EnableEncryptableProperties를 추가해주면 끝~!!
은 아니고, 아직 하나 할 일이 남았다.
@SpringBootApplication @EnableEncryptableProperties @Slf4j public class JasyptApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(JasyptApplication.class, args); } @Value("${test.password}") private String encryptedPassword; @Override public void run(String... args) throws Exception { log.info("encryptedPassword : {}", encryptedPassword); } }
/src/main/resources 아래에
application.yml 파일 또는 application.properties 파일을 생성한후, 아래 password를 설정해주어야 한다.
암호화 password는 필수값이기 때문에 꼭 입력해주어야 하고, 나머지 properties들은 설정해주지 않으면
기본 값으로 설정된다.
자세한 설정값 관련 부분은 아래 URL을 참고하기 바란다.
[https://github.com/ulisesbocchio/jasypt-spring-boot]
jasypt: encryptor: password: jasypt
위와 같이 설정하고, 아래와 같이 encrption된 값으로 설정된 property를 가져오게 되면,
test: password: ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
아래와 같이 server 내에서는 암호화가 풀린 값을 가지고 올 수 있다.
encryptedPassword : reports_passwd
위와 관련된 전체 예제는 아래에서 다운로드 받을 수 있다.
https://gitlab.com/shashaka/jasypt-spring-project
댓글 없음 :
댓글 쓰기