需要在.properties
文件中存储加密密码然后需要在配置类中解密并需要使用jasypt传递到数据库
尝试在spring启动应用程序中使用jasypt加密和解密密码 参考qazxsw poi qazxsw poi
在link-1中添加了依赖项
link-2
在POM.XML
文件中添加了加密密码
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
在Spring Boot Application类中
.properties
在配置类中
mail.encrypted.property=ENC(Fy/hjJHHbIYYwijL5YwXAj8Ho2YTwzhi)
但由于密码错误而导致错误,而无需添加加密代码应用程序正常工作
我设法让它像这样工作:
application.properties
@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();
}
在幕后环境已经将classpath.properties注册为加密属性源,因此当你要求一个属性(如果它被ENC()包围时,它会调用jasypt.encryptor.bean来尝试解码该属性。
希望这可以帮助!
干杯