jasypt 加密 yml 配置文件中的明文信息

项目中 yml 配置信息裸奔的情况怎么解决???

jasypt 加密 yml 配置文件中的明文信息_第1张图片

总结了两种方法(分布式配置中心的方式这里不做讨论!!!)

一、通过配置环境变量

jasypt 加密 yml 配置文件中的明文信息_第2张图片

形式一 : 
${MYSQL_HOST}
形式二 : 
${MYSQL_HOST:cdb-b5oatyvi.bj.tencent.com}

形式二 : :这种形式的意思是 当配置了 MYSQL_HOST 环境变量之后,就不会使用后面的地址,如果没有配置,则时候冒号后面的地址

配置 MYSQL_HOST 环境变量 :
jasypt 加密 yml 配置文件中的明文信息_第3张图片

二、通过 jasypt 进行加密

配置步骤 :

  • 引入 jasypt.jar
  • 找到 jasypt.jar 所在本地文件夹 生成 加密信息
  • 配置 yml 中的对应信息
  • 运行项目不报错则 SUCCESS

开始配置 :

  1. 引入 jasypt.jar
		<dependency>
            <groupId>com.github.ulisesbocchiogroupId>
            <artifactId>jasypt-spring-boot-starterartifactId>
            <version>2.1.0version>
        dependency>
  1. 找到 jasypt.jar 所在本地文件夹 生成 加密信息
    jasypt 加密 yml 配置文件中的明文信息_第4张图片
    生成 加密信息 命令 :
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="要加密的信息" password=raycloud_jasypt algorithm=PBEWithMD5AndDES
  • input 参数中 存放 要加密的信息
  • password 存放 jasypt 的 秘钥(盐salt)
  • algorithm 表示加密算法
  • 生成加密信息如下 :
    jasypt 加密 yml 配置文件中的明文信息_第5张图片
  1. 配置 yml 中的对应信息 :
    jasypt 加密 yml 配置文件中的明文信息_第6张图片
    yml 中添加 jasypt 秘钥 信息 (因为安全问题,我把它配置到了环境变量中)
    jasypt 加密 yml 配置文件中的明文信息_第7张图片

  2. 运行项目成功 SUCCESS

本文只拿mysql的用户信息做的演示,如果你想加密其它信息 同理即可-- end !!!

你可能感兴趣的:(MySQL)