美文网首页
Spring Cloud Config 配置和加密

Spring Cloud Config 配置和加密

作者: 昕昕的爸爸 | 来源:发表于2018-12-12 21:09 被阅读0次

    JCE加密 Java Cryptography Extension,要改jre,先用jasypt吧。

    1、在git上创建一个工程 https://gitee.com/frankawp/vishnu-config专门放配置文件的

    2、加一个文件application-dev.yml 内容如下,给整个项目共享(不知道为什么这个里面没有插入代码的功能,复制后格式都乱了)

    #加密配置

    jasypt:

    encryptor:

    password:${JASYPT_ENCRYPTOR_PASSWORD:}

    3、然后建一个vishnu-userinfo-dev.yml文件,给vishnu-userinfo工程的开发环境用,内容如下

    spring:

    datasource:

    driver-class-name:com.mysql.cj.jdbc.Driver

    username:root

    password:ENC(a6j3IUmeDTa8D/bkfDfM/t/y+FAjJ9kz)

    url:jdbc:mysql://123.207.56.146:8082/vishnu_userinfo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false

    4、看看实际用的,把spring config工程启动起来,访问http://localhost:1027/vishnu-userinfo/dev/master 可以看到一串json,里面有application-dev.yml 也有 vishnu-userinfo-dev.yml

    5、加密

    在vishnu-userinfo项目pom.xml中加入

    <!--配置属性加密工具 -->

    <dependency>

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

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

    <version>${jasypt.version}</version>

    </dependency>

    则数据库密码 password:ENC(a6j3IUmeDTa8D/bkfDfM/t/y+FAjJ9kz) 在使用的时候会被自动解密

    a6j3IUmeDTa8D/bkfDfM/t/y+FAjJ9kz 密文是通过jasypt那个jar包在控制台算出来的。

    6、秘钥 ${JASYPT_ENCRYPTOR_PASSWORD:} ,表示JASYPT_ENCRYPTOR_PASSWORD是秘钥,这个可以放在启动参数,也可以放在环境变量,放在环境变量比较简单。

    TODO: JCE的非对称加密好像会更安全一点,之后再研究 

    相关文章

      网友评论

          本文标题:Spring Cloud Config 配置和加密

          本文链接:https://www.haomeiwen.com/subject/vbxmhqtx.html