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方法来解密密码。

相关推荐
胡桃姓胡,蝴蝶也姓胡21 分钟前
Rag优化 - 如何提升首字响应速度
后端·大模型·rag
孔明兴汉1 小时前
第一章-第三节-Java开发环境配置
java·开发语言
小王不爱笑1321 小时前
Java 核心知识点查漏补缺(一)
java·开发语言·python
空空kkk1 小时前
Java——类和对象
java·开发语言
JIngJaneIL2 小时前
篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·篮球论坛系统
毕设源码-赖学姐2 小时前
【开题答辩全过程】以 安卓的服装销售APP为例,包含答辩的问题和答案
java·eclipse·tomcat
摇滚侠3 小时前
Spring Boot 3零基础教程,新特性 ProblemDetails,笔记50
spring boot·笔记
青云交3 小时前
Java 大视界 -- Java 大数据在智能农业温室环境调控与作物生长模型构建中的应用
java·机器学习·传感器技术·数据处理·作物生长模型·智能农业·温室环境调控
曾经的三心草3 小时前
SpringAI5-智能聊天机器⼈
java·springai
微露清风3 小时前
系统性学习C++-第八讲-vector类
java·c++·学习