hoony's web study

728x90
반응형

오랜만에 블로그 주인장이 글을 쓰네요 
휴.. 오랜만에 SI 프로젝트를 진행하다보니 챙겨야할 것도 많아서 그렇습니다. 

오늘은 제가 좀 삽질을 한 것을 정리하고자 합니다. 



Jasypt 란 

Jasypt는 오픈소스 Java library로 개발자는 암호화관련 깊은 지식이 없어도 암복화 프로그램을 개발할 수 있도록지원하는 모듈입니다. 
일단 사용법은 pom.xml 에 다음과 같이 추가를 해줘야합니다. 

<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>

 

Jasypt config 설정 

@Configuration
public class JasyptConfig {

    @Value("${jasypt.encryptor.sign-key}")
    private String signKey;
    @Value(value = "${jasypt.encryptor.pool-size}")
    private int poolSize;



    @Bean("jasyptStringEncryptor")
    public StringEncryptor stringEncryptor() {
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); // default: PBEWithMD5AndDES
        encryptor.setPoolSize(poolSize);
        encryptor.setPassword(signKey);
        return encryptor;
    }


    //암호화 값 생성 및 확인 방법
    //암호화된 값은 매번 달라짐
    public static void main(String[] args){
        StringEncryptor encryptor = new JasyptConfig().stringEncryptor();
        System.out.println(encryptor.encrypt("hello world"));
    }



}

저는 yml 에 설정된 값을 가지고 와서 위와 같이 설정을 하고 테스트를 해봤습니다. 
hello world 대신에 원하시는 값을 넣고 테스트를 해보시면 값이 나오는데요 
여기서 아셔야 하는 부분이 바로 값이 매번 바뀐다는거에요 ㅋ 

제가 이것때문에 다른 사람소스보고 왜 똑같은 값이 안 나오지 하면서 삽질을 엄청 했답니다. ㅠ ㅠ

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading