SpringBoot项目配置明文密码泄露问题的处理方式

SpringBoot项目配置明文密码泄露问题的处理方式:

1.引入jar包

<dependency>

    <groupId>com.github.ulisesbocchio</groupId>

    <artifactId>jasypt-spring-boot-starter</artifactId>

    <version>3.0.4</version>

</dependency>

2.配置加密的盐值对

mvn jasypt:encrypt-value -Djasypt.encryptor.password="test"

Djasypt.plugin.value="123456" --密码

生成密文:
--jasypt.encryptor.password=test
jasypt.encryptor.password=test (加盐串)

#加密方式 (配置jasypt加密方式) 
jasypt.encryptor.iv-generator-classname=org.jasypt.iv.NoIvGenerator
jasypt.encryptor.algorithm=PBEWithMD5AndDES

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
对于 Spring Boot 项目中的配置文件,我们可以使用 JasyptJava Simplified Encryption)来加密明文密码Jasypt 提供了一个简单的 API 来在代码中加密和解密数据。以下是实现步骤: 1. 添加 Jasypt 依赖 在 pom.xml 文件中添加 Jasypt 依赖: ```xml <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> ``` 2. 配置加密算法 在 application.properties 文件中添加以下配置: ```properties jasypt.encryptor.algorithm=PBEWithMD5AndDES ``` 这里使用的是 PBEWithMD5AndDES 加密算法,可以根据需要选择其他算法。 3. 加密明文密码 使用 Jasypt 提供的 API 对密码进行加密。例如,我们想要加密的密码为 "123456",可以使用以下代码进行加密: ```java import org.jasypt.util.password.StrongPasswordEncryptor; String password = "123456"; StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor(); String encryptedPassword = passwordEncryptor.encryptPassword(password); System.out.println(encryptedPassword); ``` 将加密后的结果(例如,"EBXzrCJLxKZUeMl6x1cF8Q==")复制到配置文件中的密码字段中。 4. 解密密码 在代码中可以使用以下方法解密加密后的密码: ```java import org.jasypt.util.password.StrongPasswordEncryptor; String password = "123456"; String encryptedPassword = "EBXzrCJLxKZUeMl6x1cF8Q=="; StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor(); boolean isPasswordCorrect = passwordEncryptor.checkPassword(password, encryptedPassword); System.out.println(isPasswordCorrect); ``` 这里的 isPasswordCorrect 变量将会是 true,表示密码正确。 通过以上步骤,我们就可以在 Spring Boot 项目中安全地加密配置文件中的明文密码了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值