1. 添加依赖
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version> </dependency>
2. 启动类添加注解
@EnableEncryptableProperties
在main里添加(因为仍然带着password关键字)
System.setProperty("jasypt.encryptor.password", "xxxxx");
System.setProperty("jasypt.encryptor.algorithm", "xxxxx");
SpringApplication.run(UranusApplication.class, args);
注意:jasypt-spring-boot-starter的2.x版本angorithm默认是PBEWithMD5AndTripleDES 3.x默认是PBEWITHHMACSHA512ANDAES_256
或者在启动时添加参数
java -jar xxx.jar -Djasypt.encryptor.password=私钥
3. 下载jasypt,在MvnRepository里搜索org.jasypt,下载1.9.3版本jasypt-1.9.3.jar
4. 生成ENC:在终端
java -cp /path/jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI encrypt input='xxxx!' password=xxxx algorithm=PBEWithMD5AndTripleDES saltGeneratorClassName=org.jasypt.salt.RandomSaltGenerator ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator keyObtentionIterations=1000 stringOutputType=base64 注意1:此版本的主类是JasyptPBEStringEncryptionCLI 注意2:mac终端的input里带感叹号可以使用单引号 注意3:如果angorithm使用PBEWITHHMACSHA512ANDAES_256则必须加上后面的参数 (saltGeneratorClassName,ivGeneratorClassName,keyObtentionIterations,stringOutputType) 注意4:jasypt-spring-boot-starter的3.x版本默认带参数,因此在生成ENC时,及时算法不用256,也必须带上后面的参数!!!在Properties配置文件需要密码的地方
spring.datasource.password=ENC(xxx==)
标签:Springboot,配置文件,jasypt,jar,spring,org,password,Properties From: https://www.cnblogs.com/anenyang/p/18196063