Spring Boot对账号密码进行加密储存

未来避免明文硬编码,我们需要对密码进行加密保存,例如账号密码

方法

在Spring Boot中,可以使用Jasypt(Java Simplified Encryption)库来对敏感信息进行加密和解密。Jasypt提供了一种简单的方式来在应用程序中使用加密算法来保护敏感信息,例如数据库密码、API密钥等。

步骤一、配置maven

要在Spring Boot中使用Jasypt,需要在pom.xml文件中添加以下依赖项

xml 复制代码
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>
步骤二、配置.yml配置文件(application.yml或者application.properties)
yaml 复制代码
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: myuser
    password: ENC(密文)
步骤三、加密密码解密密码

密文可以使用Jasypt提供的命令行工具或API来生成。在应用程序中,可以使用以下方式来解密密码:

加密

java 复制代码
import org.jasypt.encryption.StringEncryptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MyComponent {
    
    @Autowired
    private StringEncryptor encryptor;
    
    public void doSomething() {
        String password = encryptor.decrypt("密文");
        // 使用解密后的密码进行操作
    }
}

StringEncryptor是由Jasypt自动配置的bean,可以直接注入到组件中使用。然后,可以使用decrypt方法来解密密码。

相关推荐
苍何3 分钟前
用 AI 做短剧出海,赚麻了!(附 Skill 及教程)
后端
积硅步致千里7 分钟前
Fyne 兼容性:报错还能救,透明窗才要命
前端·后端
苍何7 分钟前
国产大模型竟然干过了 Claude!!
后端
李少兄17 分钟前
Java 中只有值传递吗?
java·开发语言·python
苍何18 分钟前
多Agent团队都搭好了,怎么生意还是我一个人在做?
后端
郭萌69625 分钟前
用 200 行 JS 实现“渐进式 JSON”——让网页加载速度快到飞起!
后端
一只叫煤球的猫26 分钟前
Spring AI 2.0 源码解析(四):Prompt、Message、Options 的对象模型
后端·面试·ai编程
名字还没想好☜29 分钟前
Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制
java·数据库·后端·python·spring
一木 之林37 分钟前
插件、MCP、Skill 的区别?
java·c++·人工智能
小刘在重生~44 分钟前
面试重点:final、finalize、finally 三者区别
java