开发者社区> YouHaveMe> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SpringBoot配置文件加密

简介: 配置文件加密这个很重要,但是却往往被很多初学者忽视,必要的参数加密是很重要的。
+关注继续查看

大多数的项目都是需要用到配置文件的,配置文件配置了一些必备信息,就比如数据库链接信息,缓存信息,而这些信息以明文的形式写在配置文件中,这是相当危险的,下面我就介绍一种解决方案,通过把配置信息加密放在配置文件中,这样就大大降低了风险。

话不多说,直接上案例,代码比什么都管用。

1.导入依赖

<!--jasypt加密依赖-->
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>

2.创建测试类,开始加密

@Test
public void testEnc() {
    StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
    encryptor.setPassword("123456");
    String CloudCoder = encryptor.encrypt("CloudCoder");
    System.out.println("CloudCoder = " + CloudCoder);
}

加密密文串:

oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG

3.替换原有配置信息

# ENC()标识加密串
my.config-username=CloudCoder
    替换成
my.config-username=ENC(oKIdQ2pqK0mat7j/UnWNL+gNtJqWmsNG)    

4.加密秘钥

至于加密秘钥,一般都是配置到虚拟机参数中,启动jar包的话也可以配置到启动参数中。像有的博客说的写在配置文件中,我就强烈不建议了,本来就是对配置信息加密的,秘钥写在配置文件中加密不就等于掩耳盗铃吗,这个不建议,确切的来说不能那么干,用我下面的方法就足够了。

dev:

image-20211010174049176

prod:

nohup java -Djasypt.encryptor.password=123456 -jar xxx.jar &
视野决定上限,能力决定下限,努力决定空间,是不是感觉很简单啊,没错,就是那么容易,因为jar包什么的都是前人封装好的,只需要用就可以了,还是很方便的噻。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
spring boot 实现文件的上传下载
spring boot 实现文件的上传下载
0 0
SpringBoot实现文件的上传下载
SpringBoot实现文件的上传下载
0 0
基于SpringBoot实现文件的上传下载
文件上传下载一直都是一个系统最常用也是最基本的功能点,刚好最近公司的项目上有用到这个功能,于是自己就用SpringBoot也写了一个简化的版本,已实现文件的上传和下载功能。
0 0
jasypt-spring-boot:加密SpringBoot的敏感配置信息
jasypt-spring-boot:加密SpringBoot的敏感配置信息
0 0
SpringBoot 使用Jasypt加密配置
SpringBoot 使用Jasypt加密配置
0 0
实践:使用Jasypt加密SpringBoot配置文件加密springboot配置文件
实践:使用Jasypt加密SpringBoot配置文件加密springboot配置文件
0 0
Spring Boot配置文件数据也可以轻松加密?
Spring Boot配置文件数据也可以轻松加密?
0 0
SpringBoot文件上传下载
SpringBoot文件上传下载
0 0
SpringBoot实现上传下载(一)
最近在学Springboot相关知识,这次用Springboot做了一个上传下载的功能,项目demo 上传一个法律名及其发布的年份等信息,然后还要能上传一个pdf文件(这里限制下上传的后缀名就可以),上传之后,点击操作中的下载,下载对应的pdf文件。
1628 0
SpringBoot实现上传下载(二)
这篇写下载。 1.实现思路 上一篇的数据库设计中,我们有一个字段始终没有用到fileName,这是用来给Layer对象存储文件名的,以此来完成文件与对象的对应, image.png 预览: image.png 2.Code View层: 首先是加载数据表格异步的时候 我们就获取到了fileName,然后通过获取当前行,来获取当前的fileName文件名。
760 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Spring Boot 2.5开发实战
立即下载
使用Spring.Initializr定制工程脚手架
立即下载
陈曦:使用Spring.Initializr定制工程脚手架
立即下载