springboot mysql 连接安全

问题描述 投票:0回答:1

我使用Springboot搭建了一个Java web项目,并在application.yml文件中配置了MySQL数据库连接用户名和密码,但是这样不够安全。还有其他安全的方法来配置 MySQL 数据库的用户密码吗?

我希望获得一种安全的方式来配置MySQL数据库用户密码,在代码中不能使用明文

java spring mysql-connector
1个回答
0
投票

您可以利用 Jasypt 库,它提供了一种方便的加密属性的机制。 以下是如何使用 Spring Boot 配置 Jasypt 的示例:

1.将Jasypt依赖添加到项目的pom.xml(Maven)中:

<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>

2.在你的application.yml中配置加密密码:

jasypt:
  encryptor:
   password: your_encryption_password # This should be kept secret elsewhere

3.使用Jasypt CLI工具或Jasypt支持的任何其他方式加密您的MySQL数据库密码。例如,如果您的原始密码是明文密码,加密后可能如下所示:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_db
    username: your_user
    password: ENC(encryptedPassword) # Replace 'encryptedPassword' with the actual encrypted value

4.现在,当Spring Boot启动时,Jasypt将自动解密加密的属性。

© www.soinside.com 2019 - 2024. All rights reserved.