java实现数据库配置yml文件用户名密码加密

1.pom文件中加入依赖,注意这里版本不能太高,我之前用的3.0.2,一直报错(Failed to bind properties under ‘spring.datasource.password‘ to java.lang.String),踩坑记录下

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

2.找到本地maven仓库中的jasypt-1.9.3.jar所在位置,如图所示

3.在该位置打开cmd,执行如下命令获取密文,java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=sa password=abc algorithm=PBEWithMD5AndDES

input后面的就是你要加密的内容,password就是加的盐

4.用户名和密码分别执行一次,将output内容加入替换到yml文件中(前面加上ENC),另外配置好盐,如下所示

jasypt:
     encryptor:
       password: abc
       algorithm: PBEWithMD5AndDES

spring:
  datasource: &base
    url: jdbc:sqlserver://192.168.10.177:1433;DatabaseName=CCTV_cz
    username: ENC(YcfO9HSylqKcG7iZ//vs0w==)
    password: ENC(YcfO9HSylqKcG7iZ//vs0w==)

5.最后再在application启动类中加入@EnableEncryptableProperties注解即可


版权声明:本文为m0_37914467原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。