Initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
package com.samsung.config;
|
||||
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
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;
|
||||
|
||||
@Log4j2
|
||||
@Configuration
|
||||
public class JasyptConfig {
|
||||
|
||||
@Value("${jasypt.encryptor.pool-size:PBEWithMD5AndDES}")
|
||||
private String ALGORITHM;
|
||||
|
||||
@Value("${jasypt.encryptor.key-obtention-iterations:1000}")
|
||||
private String CNT;
|
||||
|
||||
@Value("${jasypt.encryptor.pool-size:1}")
|
||||
private String POOL_SIZE;
|
||||
|
||||
@Value("${jasypt.encryptor.string-output-type:base64}")
|
||||
private String BASE64;
|
||||
|
||||
@Value("${jasypt.encryptor.password-property-name:JASYPT_KEY}")
|
||||
private String passwordPropertyName;
|
||||
|
||||
@Bean("jasyptStringEncryptor")
|
||||
public StringEncryptor stringEncryptor() throws Exception {
|
||||
String password = getPassword();
|
||||
|
||||
if (StringUtils.isEmpty(password))
|
||||
throw new Exception("can not find encrypt/decrypt password. please confirm environment variable");
|
||||
|
||||
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
|
||||
config.setPassword(password);
|
||||
config.setAlgorithm(ALGORITHM);
|
||||
config.setKeyObtentionIterations(CNT);
|
||||
config.setPoolSize(POOL_SIZE);
|
||||
config.setStringOutputType(BASE64);
|
||||
|
||||
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
|
||||
encryptor.setConfig(config);
|
||||
return encryptor;
|
||||
}
|
||||
|
||||
private String getPassword() {
|
||||
return StringUtils.isNotEmpty(System.getenv(passwordPropertyName)) ? System.getenv(passwordPropertyName) : System.getProperty(passwordPropertyName);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user