jasypt对redis连接密码加密

文章介绍了在项目部署时为保证安全性,采用Jasypt对数据库账户密码进行加密的方法。详细步骤包括添加maven依赖,通过命令行生成加密字符串,设置配置属性,以及在Application.java中启用加密属性。加密算法采用了PBEWithMD5AndDES,并提到了与SpringBoot版本的兼容性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

考虑安全性,项目部署的时候,配置文件中的数据库账户密码不能为明文,所以考虑加密方式

1、Jasypt加密

2、alibaba.druid 加密

这里使用的是jasypt,druid 见文章《集成druid实现数据库密码加密功能》 话不多说,开始配置

二、配置

    • maven引用

Jasypt引用的maven配置: 这里我用的是jasypt1.9.2的版本, 你们可以考虑更高版本配置的

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>
        <!-- Application.java上增加注解@EnableEncryptableProperties(上面的jasypt-spring-boot-starter包不需要该配置); -->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.2</version>
        </dependency>

另外jasypt 1.9.2 最好搭配的springboot版本是2.3.3以上

    • 加密字符生成

找到maven本地仓库中的jasypt -1.9.2.jar 的目录,并打开cmd环境,执行以下命令:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=sb01 algorithm=PBEWithMD5AndDES
命令解析:
input的值就是原密码。
password的值就是参数jasypt.encryptor.password指定的值,即秘钥。这个随你自己定
algorithm 是加密方式,固定值

切记,命令前后不要有空格!,不然会报:java.security.NoSuchAlgorithmException: PBEWithMD5AndDES? SecretKeyFactory not available

正确执行结果如下:

3、使用

  1. 增加配置属性jasypt.encryptor.password = XXX,这是加密的秘钥,这里我定的是sb01;

  1. 所有明文密码替换为ENC(加密字符串),例如ENC(w+OxT6QlB18LAo9pR2t6zA==);

完成如上配置即可!

使用jasypt-spring-boot对应的jasypt依赖, Application.java上增加注解@EnableEncryptableProperties

使用上面jasypt-spring-boot-starter对应的jasypt依赖, Application.java不需要该配置);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值