JAVA Tip
Jasypt 이용한 properties DB 암호화
cookieangelo
2024. 3. 6. 13:19
Jasypt는 Java 언어로 작성된 간단하고 강력한 암호화 라이브러리입니다. 주로 설정 파일, 데이터베이스 비밀번호 및 다른 민감한 정보를 안전하게 저장하기 위해 사용됩니다. 이 라이브러리를 사용하면 쉽게 문자열을 암호화하고 복호화할 수 있습니다.
1. 의존성 추가
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
maven 추가
dependencies {
implementation("com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5")
}
build.gradle 추가
2. Jasypt 를 이용한 예제
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
public class JasyptExample {
public static void main(String[] args) {
// 암호화 키 설정
String password = "testJasypt";
// Jasypt 암호화기 생성
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword(password);
jasypt.setAlgorithm("PBEWITHMD5ANDDES");
// 암호화
String dbUser = "user";
String encryptedTextId = jasypt.encrypt(dbUser);
System.out.println("Original Text: " + dbUser);
System.out.println("Encrypted Text: " + encryptedTextId);
// 복호화
String decryptedTextId = jasypt.decrypt(encryptedTextId);
System.out.println("Decrypted Text: " + decryptedTextId);
}
}
3. properties db 암호화
Jasypt Bean 설정
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JasyptConfig {
@Bean("jasyptEncryptor")
public StringEncryptor stringEncryptor() {
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword("testJasypt"); // encrypt key
config.setAlgorithm("PBEWITHMD5ANDDES");
config.setPoolSize("1");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64");
encryptor.setConfig(config);
return encryptor;
}
}
application.properties 설정 추가
jasypt.encryptor.bean=jasyptEncryptor
Jasypt Bean 설정 이후 properties 파일