🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
🔥 公众号: 知识浅谈
🤞Spring Boot 3中使用Jasypt实现配置文件信息加密🤞
🎈前言
Jasypt(Java Simplified Encryption)是一个用于提供简单的Java加密功能的库。在Spring Boot中集成Jasypt,可以安全地存储敏感信息,比如数据库密码和API密钥。
🎈创建新的Spring Boot项目
首先,如果你还没有Spring Boot项目,可以通过Spring Initializr( https://start.spring.io/)快速创建一个新的项目。选择以下依赖:
- Spring Web
- Spring Boot DevTools
- Spring Configuration Processor
生成项目后,下载并解压缩,然后在IDE中打开。
🎈 添加Jasypt依赖
在pom.xml中添加Jasypt的依赖:
🎈加密配置参数
你需要一个加密的值来保护你的敏感信息。可以使用Jasypt提供的命令行工具,或者直接在代码中进行加密。
使用命令行工具
-
首先,在你的项目中安装Jasypt。可以通过以下命令下载Jasypt Jar(以最新版本为准):
-
解压并进入目录,然后使用以下命令来加密字符串:
这将返回一个加密后的值。
示例
假设我们需要加密数据库连接的密码my_db_password,执行命令后会得到类似于以下结果:
🎈配置YAML或properties文件
将加密后的值放入配置文件(application.yml或application.properties)中。
application.yml示例
🎈配置Jasypt解密密码
你需要设置解密密码以允许Jasypt在运行时解密配置参数。可以通过以下方式之一来设置密码:
-
在application.yml中设置:
-
或者通过环境变量:
-
也可以通过命令行参数传递:
🎈编写代码访问配置
现在,你可以在Spring组件中访问这些配置信息。在一个Service或者Controller中,比如:
-
测试
运行你的Spring Boot应用,检查控制台输出以确认加密信息能够正确解密并使用。 -
额外注意事项
密码管理:在实际的生产环境中,尽量避免在源代码中硬编码密码。可以考虑使用环境变量或密钥管理工具(如HashiCorp Vault、AWS Secrets Manager等)。
配置文件加密:Jasypt支持加密整个配置文件,你可以考虑将配置文件本身进行加密。
总结
🍚总结
大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
作者:知识浅谈