implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4'
jasypt:
encryptor:
bean: jasyptStringEncryptor
Jasypt Online Encryption
는 암호화 하기 Jasypt Online Decryption
는 복호화 하기 이다.Jasypt Online Encryption
two way encryption
선택Jasypt Online Decryption
⚠️ 만약 사이트에 접속이 안된다면 직접 암호화 복호화 코드를 만드는 방법도 있다.
🔗 암호화 복호화 직접 코딩하기
ENC(..)
로 감싸줘야 한다.username: ENC(ll4zKFuVNixjZ6I+y/0RYQ==)
password: ENC(KdhgHp6Vqy9QNQxC3RGcmNWCoTGCZ3tL)
url: ENC(ZomzDT2uG2jDiy69tMpypGRdc2A/lKVA29lyXd05ugV84uVjO6sq4dMvjYqs5RshGNx3RN11Wo63KzDoN7WchJ8NdbGV+NEApNRsG6zyrnB7z3t1Pb9DwehE2uklzmMMndYWUKdRqeNZ5M6+k6rY9u3u6szRDSLPXmVDFFqwgYpxd1bdaRP++w==)
@Value
stringEncryptor
jasyptStringEncryptor
을 입력해주면 된다.import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableEncryptableProperties
public class JasyptConfigDES {
// 암호 키를 저장하는 필드
@Value("${jasypt.encryptor.password}")
private String encryptKey;
// 암호화 복호화가 진행
@Bean(name = "jasyptStringEncryptor")
public StringEncryptor stringEncryptor() {
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(encryptKey); // 암호키가 필요한 method -> 암호키 필드를 값으로 전달
config.setAlgorithm("PBEWithMD5AndDES"); // 처리에 필요한 알고리즘
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setIvGeneratorClassName("org.jasypt.iv.NoIvGenerator");
config.setStringOutputType("base64");
encryptor.setConfig(config);
return encryptor;
}
}
@Value
에 속성값으로 입력해줬었던 경로와 암호키를 작성해준다.-D
경로
=
암호키
순으로 입력하면 된다.-Djasypt.encryptor.password=암호키