在Spring Boot中使用jasypt-spring-boot进行加密,可是提示:java
Description: Failed to bind properties under 'spring.datasource.password' to java.lang.String: Reason: Failed to bind properties under 'spring.datasource.password' to java.lang.String Action: Update your application's configuration
或提示git
Description: Failed to bind properties under 'spring.datasource.url' to java.lang.String: Reason: Failed to bind properties under 'spring.datasource.password' to java.lang.String Action: Update your application's configuration
最后的异常是这个:github
查阅了相关issue,发现是3.0.2更改了默认的加密算法,最后的办法是把版本降到2.1.2:算法
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency>
接着从新加密配置,可是2.1.2不支持使用环境变量做为加密的口令,在IDEA中测试的时候须要在运行配置加上spring
-Djasypt.encryptor.password=xxxx
部署到Tomcat时添加环境变量:bash
export JAVA_OPTS="-Djasypt.encryptor.password=xxxx"