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

第一、添加依赖

<dependency>

       <groupId>com.github.ulisesbocchio</groupId>

        <artifactId>jasypt-spring-boot-starter</artifactId>

        <version>2.1.1</version>

</dependency>

第二、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的时候添加上去。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容