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

相关推荐
乐之者v19 小时前
AI编程 -- Agents.md 的简单示例
java·ai编程
无风听海20 小时前
Claude Agent Skills 的四种设计模式;从渐进式披露到最小权限
java·算法·设计模式
豆瓣鸡20 小时前
Guava RateLimiter 限流实战:从令牌桶原理到 Nacos 动态配置
spring boot·微服务·nacos·guava
geovindu20 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening77720 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
布朗克16820 小时前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
你驴我21 小时前
WhatsApp Cloud API 速率限制下的令牌桶与退避策略实践
网络·后端·python
AC赳赳老秦21 小时前
司法公开数据采集应用:OpenClaw 抓取裁判文书公开信息,批量整理同类参考案例
java·大数据·python·数据挖掘·数据分析·php·openclaw
笑小枫21 小时前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
ClouGence21 小时前
SAP HANA 到 Doris 数据迁移:4 种方案对比与迁移教程
数据库·后端·dba