网易首页 > 网易号 > 正文 申请入驻

如何保护 SpringBoot 配置文件中的敏感信息

0
分享至

来源:blog.csdn.net/jeikerxiao/article/details/96480136

说明

使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。

打开application.propertiesapplication.yml,比如 MySql登陆密码,Redis登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。

jasypt由一个国外大神写了一个springboot下的工具包,用来加密配置文件中的信息。

GitHub Demo地址

https://github.com/jeikerxiao/spring-boot2/tree/master/spring-boot-encrypt
数据用户名和数据库密码加密为例 1. 引入包

查看最新版本可以到:

https://github.com/ulisesbocchio/jasypt-spring-boot


com.github.ulisesbocchio groupId>
jasypt-spring-boot-starter artifactId>
2.1.0 version>
dependency>

2. 配置加/解的密码

# jasypt加密的密匙
jasypt:
encryptor:
password: Y6M9fAJQdU7jNp5MW

3. 测试用例中生成加密后的秘钥

@RunWith(SpringRunner .class)
@SpringBootTest
public class DatabaseTest {

@Autowired
private StringEncryptor encryptor;

@Test
public void getPass() {
String url = encryptor.encrypt( "jdbc:mysql://localhost:3306/mydb?autoReconnect=true&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
String name = encryptor.encrypt( "root");
String password = encryptor.encrypt( "123456");
System.out.println( "database url: " + url);
System.out.println( "database name: " + name);
System.out.println( "database password: " + password);
Assert.assertTrue(url.length() > 0);
Assert.assertTrue(name.length() > 0);
Assert.assertTrue(password.length() > 0);
}
}

下面是输出加密字符串:

database url: 6Ut7iADnHS18cManoFJuNRQ5QEDfcho/F96SOhsHZdXlHYCa5PSrz6rk48I9eHB7qPp5AxDFBk9xi0I1hi6BJ0DSPYA9443gBAk5JDUxDufjUKsdh6knZJLNELmFJzYrDvCu4S0x22MYdZqJDLbyDUU2JcoezCvs156vmsPgU4A=
database name: fmai72yGYKGlP6vTtX77EQ==
database password: GPMG7FGV+EA9iGkC27u67A==

4. 将加密后的字符串替换原明文

applicatioin.yml

server:
port: 8080
spring:
# 数据库相关配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
# 这里加上后缀用来防止mysql乱码,serverTimezone=GMT%2b8设置时区
url: ENC(h20YiPrvNnuuTGjlrE1RVpudMuIQAS6ZPSVo1SPiYVyLen7/TWI5rXVRkStA3MDcoVHQCmLa70wYU6Qo8wwtnsmaXa5jykD3MNhAp5SGJxHsTG5u7tflPdnNmOufyhdsYPxBGWAgibYs9R7yBfrvtwBTRbe096APd3bnG3++Yro=)
username: ENC(sT6BztXbJEa71eg3pPGYMQ==)
password: ENC(MpSZFJ9ftq+3+VUANZjr0Q==)
jpa:
hibernate:
ddl-auto: update
show-sql: true
# 返回的api接口的配置,全局有效
jackson:
# 如果某一个字段为null,就不再返回这个字段
default-property-inclusion: non_null
date-format: yyyy-MM-dd HH:mm:ss
serialization:
write-dates-as-timestamps: false
time-zone: GMT+8
# jasypt加密的密匙
jasypt:
encryptor:
password: Y6M9fAJQdU7jNp5MW

注意: 上面的 ENC() 是固定写法.
附言 部署时配置salt(盐)值

为了防止salt(盐)泄露,反解出密码.可以在项目部署的时候使用命令传入salt(盐)值:

java -jar xxx.jar -Djasypt.encryptor.password=Y6M9fAJQdU7jNp5MW

或者在服务器的环境变量里配置,进一步提高安全性。 学习资料:

打开/etc/profile文件

vim /etc/profile

在profile文件末尾插入salt(盐)变量

export JASYPT_PASSWORD = Y6M9fAJQdU7jNp5MW

编译,使配置文件生效

source /etc/profile

运行

java -jar -Djasypt.encryptor.password= ${JASYPT_PASSWORD} xxx.jar

END

逆锋起笔是一个专注于程序员圈子的技术平台,你可以收获最新技术动态、最新内测资格、BAT等大厂的经验、精品学习资料、职业路线、副业思维,微信搜索逆锋起笔关注!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
抓住岳母把柄,女婿答应为其保密,随后提出一个要求让岳母崩溃

抓住岳母把柄,女婿答应为其保密,随后提出一个要求让岳母崩溃

麦子情感故事
2026-05-30 14:20:32
二孩非亲生后续!堂哥恶行曝光,律师有新证据,判决结果让人意外

二孩非亲生后续!堂哥恶行曝光,律师有新证据,判决结果让人意外

奇思妙想草叶君
2026-05-29 23:42:57
突发!上海又一超大规划来了....

突发!上海又一超大规划来了....

新浪财经
2026-05-31 00:20:31
国际奥委会曾明确表态,对2036年奥运会的申办情况很是失望

国际奥委会曾明确表态,对2036年奥运会的申办情况很是失望

阿振观点
2026-05-31 07:41:16
曹操杀了杨修后,问其父杨彪为何瘦了,杨彪回了一句话成千古名句

曹操杀了杨修后,问其父杨彪为何瘦了,杨彪回了一句话成千古名句

兴趣知识
2026-05-30 18:54:23
人过了七十岁,生命的意义仅剩两件事,可惜很少有人明白

人过了七十岁,生命的意义仅剩两件事,可惜很少有人明白

蝉吟槐蕊
2026-05-30 16:18:17
余秋雨在印考察很沮丧,印前部长安慰:中国再过25年就能赶上我们

余秋雨在印考察很沮丧,印前部长安慰:中国再过25年就能赶上我们

抽象派大师
2026-05-30 04:21:16
被北航投诉了,可能封号,因为写了耿同学的博士老师

被北航投诉了,可能封号,因为写了耿同学的博士老师

小小河
2026-05-30 22:21:44
“都把儿子养雌化了!”初中男孩出现雌化现象,家长却执迷不悟

“都把儿子养雌化了!”初中男孩出现雌化现象,家长却执迷不悟

妍妍教育日记
2026-05-29 07:55:13
糟糕!骑士狂赞哈登,顶薪要没了?

糟糕!骑士狂赞哈登,顶薪要没了?

体育新角度
2026-05-30 18:25:04
赖清德的后台终于现出原形,大陆这回铁定下手不留情!

赖清德的后台终于现出原形,大陆这回铁定下手不留情!

橙色书卷
2026-05-28 15:02:05
忙活一桌子,狗都不吃!丈夫过生日,妻子自我感动 ,网友吐槽

忙活一桌子,狗都不吃!丈夫过生日,妻子自我感动 ,网友吐槽

蝴蝶花雨话教育
2026-05-31 00:05:20
肖纯锦临刑在即,其妻哭求陈毅,一通电话救下昔日恩人

肖纯锦临刑在即,其妻哭求陈毅,一通电话救下昔日恩人

唠叨说历史
2026-03-28 15:04:59
山西省省长卢东亮部署:代价不能白付,教训必须汲取,动真碰硬、深挖彻查全省煤矿领域安全风险隐患,坚决防范遏制重特大事故发生

山西省省长卢东亮部署:代价不能白付,教训必须汲取,动真碰硬、深挖彻查全省煤矿领域安全风险隐患,坚决防范遏制重特大事故发生

农视网
2026-05-31 09:30:49
从36跌到3.5,跌了整整8年,好不容易等到一个涨停,结果炸板了!

从36跌到3.5,跌了整整8年,好不容易等到一个涨停,结果炸板了!

丁丁鲤史纪
2026-05-30 17:08:34
杰拉德:不理解为什么埃泽要搞这些花样,点球直接用力踢就行

杰拉德:不理解为什么埃泽要搞这些花样,点球直接用力踢就行

懂球帝
2026-05-31 10:40:08
菲防长语出惊人:不管美国总统是谁?中国都不太可能对菲律宾动武

菲防长语出惊人:不管美国总统是谁?中国都不太可能对菲律宾动武

梦在深巷aqa
2026-05-31 02:07:47
“司机激活智驾,双手脱离方向盘”,一轿车追尾货车致3死,调查报告公布

“司机激活智驾,双手脱离方向盘”,一轿车追尾货车致3死,调查报告公布

南方都市报
2026-05-30 10:38:10
小沈阳被曝紧急送医,知情人透露:已是第2次陷入昏迷

小沈阳被曝紧急送医,知情人透露:已是第2次陷入昏迷

犀利强哥
2026-05-28 22:50:39
我不是中国人!马来西亚博主疯狂吐槽,别自作多情了,我只是华人

我不是中国人!马来西亚博主疯狂吐槽,别自作多情了,我只是华人

小鋭有话说
2026-05-30 23:12:00
2026-05-31 10:52:49
技术小生
技术小生
互联网技术与技术人的职业发展
957文章数 515关注度
往期回顾 全部

科技要闻

戴尔诺基亚又回来了!AI重估老牌科技公司

头条要闻

稻城亚丁景区是否有权在省道上"设卡" 央媒调查

头条要闻

稻城亚丁景区是否有权在省道上"设卡" 央媒调查

体育要闻

巴黎再度捧起欧冠奖杯 枪手众将黯然神伤

娱乐要闻

贾玲最新动作!侯明昊给虞书欣抬轿!

财经要闻

字节跳动的 "一盘大棋"

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

亲子
手机
家居
游戏
军事航空

亲子要闻

人能自私到什么地步?网友:把宝宝退烧药喝了,说孩子可以再生

手机要闻

nova十周年大作!华为nova 16系列下周亮相:顶流代言+麒麟9系芯片

家居要闻

云栖 舒展如流云

PS5独占《漫威金刚狼》售价曝光!疑似即将开启预购

军事要闻

美防长参加"香会" 就美中关系最新表态

无障碍浏览 进入关怀版