springboot+jasypt初尝试
在基于springboot的开发中,都会使用application.properties或application.yml文件,在配置文件中会配置数据库等信息,且通常是明文显示,下面引入jasypt组件,对敏感信息进行加解密处理。1依赖<dependency><groupId>com.github.ulisesbocchio</groupId><artifa
·
在基于springboot的开发中,都会使用application.properties或application.yml文件,在配置文件中会配置数据库等信息,且通常是明文显示,下面引入jasypt组件,对敏感信息进行加解密处理。
1依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
2在application.propertes中配置加/解密的密钥
datasource.password=ENC(7BtpfEL3+swnHab9kBdLWw==)
# jasypt加密的密匙
jasypt.encryptor.password=1234567890
3测试
//在单元测试类中
@Autowired
private StringEncryptor stringEncryptor;
@Test
public void test3() {
String password = stringEncryptor.encrypt("123456");
System.out.println("password:" + password);
}
输出
password:asqCKV6CoxKNdTXaqHelyQ==
4使用,参考2步骤中datasource.password=ENC(7BtpfEL3+swnHab9kBdLWw==)
5测试
@Value("${datasource.password}")
private String password;
@RequestMapping("/jasypt")
public String jasypt() {
return "password:" + password;
}
返回
password:123456
注:为了防止salt(盐)泄露,反解出密码.可以在项目部署的时候使用命令传入salt(盐)值
java -jar xxx.jar -Djasypt.encryptor.password=1234567890
更多推荐
已为社区贡献3条内容
所有评论(0)