ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

spring boot 对配置文件加密

2022-06-16 13:36:59  阅读:150  来源: 互联网

标签:username 加密 textEncryptor 配置文件 spring boot jasypt password


配置文件中的数据库账户、密码不能明文展示。否则代码泄露的话,数据库就被人删除跑路了。

首先引入依赖

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

  

编写测试代码

@Test
	public void testDecrypt(){
		BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
		//加密所需的salt(盐)
		textEncryptor.setPassword("bad_boy");
		//要加密的数据(数据库的用户名或密码)
		String username = textEncryptor.encrypt("root");
		String password = textEncryptor.encrypt("123456");
		System.out.println("username: " + username);
		System.out.println("password:" + password);
	}

  

将加密后的数据填写到配置文件中

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/wcscanner?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
    username: ENC(JWkISjb1dfh+x1AMNIqr/Q==)
    password: ENC(rMP11CKRnw+s1vM/iTgF1FdS+XylskGiM3fZqMeaOFM=)

  

加密配置

jasypt:
  encryptor:
    password:
    algorithm: PBEWithMD5AndDES

  

运行时增加秘钥变量

--jasypt.encryptor.password=bad_boy

java -jar foo.jar --jasypt.encryptor.password=bad_boy

愉快运行即可。

解密代码

 

标签:username,加密,textEncryptor,配置文件,spring,boot,jasypt,password
来源: https://www.cnblogs.com/fczlm/p/16381600.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有