Bootstrap

Springboot实现对配置文件中的明文密码加密

前言

我们在SpringBoot项目当中,会把数据库的用户名密码等配置直接放在yaml或者properties文件中,这样维护数据库的密码等敏感信息显然是有一定风险的,如果相关的配置文件被有心之人拿到,必然会给项目造成一定的安全风险;所以为了避免明文密码被直接看到,我们有必要给这些敏感信息做一层加密处理,也就是说,我们的配置文件中配置的都是加密后的密码,在真正需要获取密码的时候再解密出来,这样的话就能很大程度上降低密码被泄漏的风险;

示例展示

我们来看一下这个配置:

spring:
  # 数据库链接配置
  datasource:
    url: jdbc:mysql://xx.xx.xx.xx:3306/database
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: "123456"
复制代码

我们上述的配置spring.datasource.password对应的值为123456,这么敏感的信息直接放在配置文件中很不合适,我们要做的就是对应的值改成一个加密的密文,如下:

spring:
  # 数据库链接配置
  datasource:
    url: jdbc:mysql://xx.xx.xx.xx:3306/database
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: "AES(DzANBAhBWXxZqAOsagIBCoaw8FV4gYRbid7G70UEM24=)"
复制代码
;