前言-与正文无关
生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步,感受周围的世界。让我们一起提醒自己,要适时放慢脚步,欣赏生活中的每一道风景,享受与家人朋友的温馨时光,发现那些平凡日子里隐藏的幸福时刻。因为,这些点点滴滴汇聚起来的,才是构成我们丰富多彩生活的本质。希望每个人都能在繁忙的生活中找到自己的快乐之源,不仅仅为了生存而工作,更为了更好的生活而生活。
送你张美图!希望你开心!
效果
看下图我想配置文件信息中有很多被我加密的
但是呢我代码的输出结果还是源值,非常适合公司做配置文件密码加密这一块能力
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyService {
@Value("${db.password}")
private String dbPassword;
public void printPassword() {
//输出结果是1234
System.out.println("Decrypted DB Password: " + dbPassword);
}
}
使用方式
Jasypt(Java Simplified Encryption)是一个Java库,用于简化加密操作。它特别适用于保护敏感的配置数据,例如数据库密码、API密钥等。Spring Boot集成了Jasypt,可以轻松实现配置文件加密和解密。
信息加密和解密
pom.xml引入依赖
<!-- 配置文件加密 -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
写一个main函数将我们的密码进行加密
public class JasyptTest {
private static final Logger logger = LoggerFactory.getLogger(JasyptTest.class);
public static void main(String[] args) {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setAlgorithm("PBEWITHHMACSHA512ANDAES_256");
encryptor.setPassword("zhi");
encryptor.setIvGenerator(new RandomIvGenerator());
// 加密
String encryptText = encryptor.encrypt("abc123");
logger.info("加密后的信息:{}", encryptText);
// 解密
String decryptText = encryptor.decrypt(encryptText);
logger.info("解密后的信息:{}", decryptText);
}
}
方式一(不推荐)
盐(密码本)直接写在配置文件中
# 加密、解密信息必须存在,自己随便定义,密码界的盐
jasypt:
encryptor:
password: zhi
# 演示的db加密后的密码,切记一定要有ENC(),否则无法自动解析
db:
password: ENC(5f4dcc3b5aa765d61d8327deb882cf99)
此时获取密码时,spring项目会自动解析密码
ENC的作用
在使用Jasypt加密配置文件中的敏感信息时,加密后的内容通常以ENC()
的格式表示。这个格式告诉Spring Boot在读取配置时需要解密。例如:
db:
password: ENC(5f4dcc3b5aa765d61d8327deb882cf99)
这里的ENC(5f4dcc3b5aa765d61d8327deb882cf99)
表示数据库密码已经被加密,Spring Boot在读取配置时会使用Jasypt解密这个值
jasypt.encryptor.password的作用
jasypt.encryptor.password
是 Jasypt 加密器的核心,它用于生成加密密钥。这个密钥用于加密和解密数据。如果没有提供这个密码,Jasypt 无法正确地加密或解密数据。
方式二
使用命令行参数
打成jar后我们可以在启动命令中添加参数
java -Djasypt.encryptor.password=your_secret_password -jar your-application.jar
------------------------------------------与正文内容无关------------------------------------
如果觉的文章写对各位读者老爷们有帮助的话,麻烦点赞加关注呗!作者在这拜谢了!
混口饭吃了!如果你需要Java 、Python毕设、商务合作、技术交流、就业指导、技术支持度过试用期。请在关注私信我,本人看到一定马上回复!
这是我全部文章所在目录,看看是否有你需要的,如果遇到觉得不对地方请留言,看到后我会查阅进行改正。
关注在文章左上角,作者信息处
标签:加密,springboot,配置文件,Jasypt,解密,encryptor,password From: https://blog.csdn.net/weixin_43895362/article/details/139871718