需求:
介于安全,配置文件中不允许有明文用户、密码等敏感字符,需要对敏感字符加密处理。
方案:
使用Jasypt安全框架,Jasypt提供了Spring集成。
实现:
1、pom文件引入jasypt包
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
2、使用工具类手动对需要加密的字符进行加密,有两种方式,一种是dos中执行jasypt的jar,另一种通过程序获取密文,这里使用后者,代码如下
import org.jasypt.util.text.BasicTextEncryptor;
public static void main(String[] args){
//PBEWithMD5AndDES
BasicTextEncryptor encryptor = new BasicTextEncryptor();
//加密的key值,用于配置文件jasypt.encryptor.password的值
encryptor.setPassword("key");
//加密
System.out.println(encryptor.encrypt("数据库连接串"));
System.out.println(encryptor.encrypt("数据库用户名"));
System.out.printl