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

相关推荐
wuminyu7 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
小码哥_常7 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
皮皮林5517 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
callJJ8 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
海兰8 小时前
【第27篇】Micrometer + Zipkin
人工智能·spring boot·alibaba·spring ai
千寻girling9 小时前
《 Git 详细教程 》
前端·后端·面试
wbs_scy9 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
海兰9 小时前
【第28篇】可观测性实战:LangFuse 方案详解
人工智能·spring boot·alibaba·spring ai
0xDevNull10 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp10 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端