标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。