51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

SpringBoot如何解决yml明文密码问题

日常使用过程中,使用明文密码完全没问题,但是到了企业项目中,往往需要进行安全扫描,被安全扫描组扫到后,就必须修改。


有两种思路解决安全扫描问题。


方式一、密码不放在代码里

密码不放在工程代码中,放到配置中心上,比如Spring Cloud Config,比如Nacos,或者apollo上。


一般来说安全扫描都是只扫描代码工程,不会扫描其他配置中心,当然如果有检查配置中心,那只能用第二种方式了。



方式二、使用jasypt加密

使用jasypt加密可以解决这个问题。


首先,pom添加依赖。

<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>

然后打开jasypt的jar包目录,执行如下命令生成密文。

java -cp  jasypt-1.9.3.jar  org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="root" password=mysalt-xy algorithm=PBEWithMD5AndDES

执行结果:

重新执行,可以看到每次结果不一样。

input 是要加密的明文

password 是相当于盐

因此密码需要在执行一次 input="密码"


生成后替换,格式ENC(密文)

然后添加盐配置:

jasypt:
  encryptor:
    password: mysalt-xy

这样就可以轻松加密了。

赞(8)
未经允许不得转载:工具盒子 » SpringBoot如何解决yml明文密码问题