오랜만에 블로그 주인장이 글을 쓰네요
휴.. 오랜만에 SI 프로젝트를 진행하다보니 챙겨야할 것도 많아서 그렇습니다.
오늘은 제가 좀 삽질을 한 것을 정리하고자 합니다.
Jasypt는 오픈소스 Java library로 개발자는 암호화관련 깊은 지식이 없어도 암복화 프로그램을 개발할 수 있도록지원하는 모듈입니다.
일단 사용법은 pom.xml 에 다음과 같이 추가를 해줘야합니다.
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
@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 대신에 원하시는 값을 넣고 테스트를 해보시면 값이 나오는데요
여기서 아셔야 하는 부분이 바로 값이 매번 바뀐다는거에요 ㅋ
제가 이것때문에 다른 사람소스보고 왜 똑같은 값이 안 나오지 하면서 삽질을 엄청 했답니다. ㅠ ㅠ
Lucy XSS Servlet: Java 웹 애플리케이션의 XSS 공격 방어책 (0) | 2024.07.17 |
---|---|
Base64 인코딩된 이미지의 크기 구하기 (0) | 2024.06.27 |
[Egov Framework] 전자정부프레임워크 고질적인 문제해결 (infinity redirection) (0) | 2023.10.19 |
[SpringBoot] 3.0 이상에 대한 JDK 변경점 (0) | 2023.03.09 |
[SpringBoot] Spring Boot DevTools란? (0) | 2023.01.26 |