본문 바로가기

HealRo Project

application property 암호화

반응형

gradle 추가

compile "com.github.ulisesbocchio:jasypt-spring-boot-starter:1.17"

 

configure bean 생성

@Configuration
public class JasyptConfig {

    @Bean("jasyptStringEncryptor")
    public StringEncryptor stringEncryptor() {
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
        config.setPassword("test"); //암호화에 사용할 키 -> 중요
        config.setAlgorithm("PBEWithMD5AndDES"); //사용할 알고리즘
        config.setKeyObtentionIterations("1000");
        config.setPoolSize("1");
        config.setProviderName("SunJCE");
        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
        config.setStringOutputType("base64");
        encryptor.setConfig(config);
        return encryptor;
    }
}

 

 

이 로직으로 암호화 동작 시킴

메인 run 함수에 심어서 crypto 만들고 로직 제거하는 방법으로 함.

StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
pbeEnc.setAlgorithm("PBEWithMD5AndDES");
pbeEnc.setPassword("test"); //2번 설정의 암호화 키를 입력
		
String enc = pbeEnc.encrypt("1234"); //암호화 할 내용
System.out.println("enc = " + enc); //암호화 한 내용을 출력
		
//테스트용 복호화
String des = pbeEnc.decrypt(enc);
System.out.println("des = " + des);

 

application property에 추가

jasypt.encryptor.bean = jasyptStringEncryptor

암호화 결과를 이런식으로 ENC안에 써서 적용.

spring.mail.password=ENC(A9bHcXqLsCfRnxjDKaa5PqtKe35kL+6I)
반응형

'HealRo Project' 카테고리의 다른 글

Spring Boot http/https protocol 확인  (0) 2020.07.26
Web Application WebView 적용  (0) 2020.07.22
SpringBoot Email 전송 기능 (Gmail)  (0) 2020.06.01
Naver Map 마커 심기  (0) 2020.04.16
Map 최초 위치  (0) 2020.04.15