SpringBoot项目中配置文件敏感信息(数据用户名、密码)的加密

一、引入POM

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

二、根据原文和秘钥生成密文

添加依赖后,本地maven仓库路径下,会下载到一个文件 jasypt-1.9.2.jar

使用如下命令,根据原文(敏感信息)和秘钥(自定)生成密文

java -cp jasypt-1.9.2.jar  org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=此处填写需要加密的原文 password=此处填写秘钥 algorithm=PBEWithMD5AndDES

算法每次计算结果不同。

解密验证命令如下:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=加密之后的密文 password=秘钥 algorithm=PBEWithMD5AndDES

三、将生成的密文加入到配置文件中

注意,需要增加ENC(),将密文添加进去括号中。告诉spring,此处是加密内容,需要解密。例如

spring.datasource.url=ENC(aHMBiWporNNBm3IwftEBu+1zA/v7JsO924+UR3MTxf2YNRBP/jZK1cb88YL/dxtYTxdKUyeWOatTCpZcCgQmwKQ7AIysILRC)
spring.datasource.username=ENC(WG7hK9Q3gi0CfSB560hSBQ==)
spring.datasource.password=ENC(EjmLk30zKbJbaxR0LJEXc2rjE7UwagRp)

四、启动服务

启动服务时,需要指定解密秘钥 jasypt.encryptor.password

命令行启动方式:

java -Djasypt.encryptor.password=此处填写秘钥  -jar xxx.jar

如果是IDE启动,例如eclipse,需要按如下方式配置启动参数

猜你喜欢

转载自blog.csdn.net/H517604180/article/details/92407098