본문 바로가기
반응형
Spring

jasypt 에러: Failed to bind properties under 'spring.datasource.password' to java.lang.String:

by brightGarden02 2022. 12. 29.

다음과 같은 에러가 발생했다.

Failed to bind properties under 'spring.datasource.password' to java.lang.String

패스워드가 비워져 있어서 생긴 에러라고 한다.

 

 

 

JasyptConfig 클래스는 고칠게 없어 보인다.

@Configuration
public class JasyptConfig {

    @Value("${jasypt.encryptor.password}")
    private String PASSWORD;

    @Bean("jasyptStringEncryptor")
    public StringEncryptor stringEncryptor() {
        PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
        SimpleStringPBEConfig config = new SimpleStringPBEConfig();
        config.setPassword(PASSWORD);
        config.setPoolSize("1");
        config.setAlgorithm("PBEWithMD5AndDES");
        config.setStringOutputType("base64");
        config.setKeyObtentionIterations("1000");
        config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
        encryptor.setConfig(config);
        return encryptor;
    }
}

 

 

 

이 부분 패스워드가 비어있어서 그런 것일까?

jasypt:
  encryptor:
    bean: jasyptStringEncryptor
    password:

 

 

 

패스워드에 임의의 값을 넣어보았다.

jasypt:
  encryptor:
    bean: jasyptStringEncryptor
    password: abc123

 

 

 

DB 패스워드와 엮을 수 없다는 에러로 바꼈다.

 

 

 

jasypt:
  encryptor:
    bean: jasyptStringEncryptor
    password: ENC...

임의의 값이 아닌 DB 패스워드로 수정하였다.

 

 

 

패스워드를  이미 만들고 있는데 왜 넣었냐는 에러가 나온다. + 순환참조 에러이다 :(

 

해결해보자!

 

 

댓글


반응형
반응형