springboot 配置文件数据库地址和密码加密

第一、添加依赖

       com.github.ulisesbocchio

        jasypt-spring-boot-starter

        2.1.1

第二、application.yml 配置秘钥

jasypt:

    encryptor:

            password: thisispassword

第三、编写test文件生成密码:

@Autowired

StringEncryptorencryptor;

@Test

public void contextLoads() {

         String url =encryptor.encrypt("jdbc:mysql://220.12.23.17:3306/tools-test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false");

         String name =encryptor.encrypt("rootdb");

         String password =encryptor.encrypt("password2018");

         System.out.println("url:"+url);

         System.out.println("name:"+name);

         System.out.println("password:"+password);

}

输出结果:

url:qMwOuqrSfWKKD2EC8CUHQVyc9WZu7vD5QrPLZhaJqV8sCLBhhiiqV/oh7JBsn0L4iHhkH4PcyWcdKkjYbsptGPDaWoRZdmDTMCUMo5aFOzZ+4PMJWAupt1XoBfbPEuka0YL01MlDM9RNLlAWUrzI19H2nsnt07bmqx5WRaA1AdTYdyCpn

username: XzQi3cMJA2kUybaQeFix

password: yL9y4+MXd5yzaO0U2X7FXclDMe5/Ra5ZxCMTQmkc


第四、将生成的秘钥填充到application.yml文件里, 注意前面需要添加ENC,比如:

    username: ENC(XzQi3cMJA2kUybaQeFixxQ==)

    password: ENC(yL9y4+MXd5yzaO0U2X7FXclDMe5/Ra5ZxCMTQmkgwoc=)

第五、编写make文件

     mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true

 第六、删除application.yml 文件里的配置秘钥

 第七、 执行make文件 生成target jar

 第八、java -jar demo-jasypt-0.0.1-SNAPSHOT.jar  --jasypt.encryptor.password=thisispassword

注意: 

    秘钥尽量不要放在配置文件里。在启动app的时候添加上去。

  以上是我生产中用到的一点知识,与大家共享。如有技术问题,请给我留言。

你可能感兴趣的:(springboot 配置文件数据库地址和密码加密)