개발관련/java 개발관련
Jasypt 를 이용한 암호화 하기
후니의 개발이야기
2024. 6. 10. 11:03
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
반응형