Необходимо сохранить зашифрованный пароль в файле .properties
, затем расшифровать его в классе конфигурации и передать в базу данных, используя jasypt
Попытка зашифровать и расшифровать пароль с помощью jasypt в приложении springboot
Ссылка ссылка-1 ссылка-2
Добавлена зависимость в POM.XML
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
Добавлен зашифрованный пароль в .properties
файле
mail.encrypted.property=ENC(Fy/hjJHHbIYYwijL5YwXAj8Ho2YTwzhi)
В Springboot Application class
@SpringBootApplication
@EnableEncryptableProperties
@PropertySource(name="EncryptedProperties", value = "classpath:encrypted.properties")
public class MyApplication {
...
}
В классе конфигурации
@Value("${mail.encrypted.property}")
private String password;
@ConfigurationProperties(prefix = "mail")
public Datasource ConfigProperties {
return DataSourceBuilder
.create()
.password(password)
.build();
}
Но при получении ошибки из-за неправильного пароля без добавления кода шифрования приложение работает нормально