Jasypt加密SpringBoot配置文件
如果 SpringBoot 的 properties 文件中含有用户名密码等敏感信息,为了安全起见需要对明文密码加密。Jasypt 是用来加密的 jar 包。
1.引入 Jasypt
在 pom.xml 文件中引入 Jasypt。
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>1.16</version> </dependency>
2.生成加密后的字符串
找到 Maven 下载好的 jasypt-1.9.2.jar 然后输入以下命令:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=abc123 input=admin
说明:
password: 用来加密的 key 值,可以随便输入。
input: 需要加密的字符串,这里输入数据库的密码。
OUTPUT 中就是加密后的密文:
3.配置 .properties 文件
将生成的密文加入到 application.properties 文件中。
spring.jpa.hibernate.ddl-auto=none spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
jasypt.encryptor.password=abc123 spring.datasource.username=ENC(OOu/lO3dkYwxS0UA+1zgsw==) spring.datasource.password=ENC(OOu/lO3dkYwxS0UA+1zgsw==)
最后启动项目作数据库联接测试。
官方地址:https://github.com/ulisesbocchio/jasypt-spring-boot