對(duì)SpringBoot項(xiàng)目配置文件進(jìn)行加密實(shí)現(xiàn)過程
1.SpringBoot項(xiàng)目pom添加maven依賴
<!-- https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>2.使用單元測(cè)試生成加密數(shù)據(jù)
設(shè)置配置文件(bootstrap.yml或者application.yml)
jasypt:
encryptor:
password: jasypt!di@soc
algorithm: PBEWithMD5AndDESpassword:加密的鹽algorithm:加密算法,這里使用 PBEWithMD5AndDES
運(yùn)行單元測(cè)試文件
package com.pscsoft.code.isoc;
import org.jasypt.encryption.StringEncryptor;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
/**
* @author avry.jiang
* @date 2023-06-28 17:45:58
*/
@SpringBootTest()
@Import({IsocApplication.class})
public class JasyptUtilTest {
@Autowired
private StringEncryptor encryptor;
@Test
public void jasypt() {
String name = encryptor.encrypt("12345678");
System.out.println("en: " + name);
System.out.println("de: " + encryptor.decrypt(name));
}
}執(zhí)行結(jié)果:

3.在SpringBoot項(xiàng)目中使用
配置mysql的jdbc,使用“ENC(密文)”配置密碼,其他配置有密碼都類似修改

4.將加密鹽放入配置文件、啟動(dòng)環(huán)境或者啟動(dòng)命令中
4.1.Idea啟動(dòng)項(xiàng)配置
--jasypt.encryptor.password=jasypt!di@soc --jasypt.encryptor.algorithm=PBEWithMD5AndDES

4.2.配置文件(不推薦,會(huì)暴露加密鹽反推明文的)
jasypt:
encryptor:
password: jasypt!di@soc
algorithm: PBEWithMD5AndDES4.3.其他
如果是docker啟動(dòng),可以配置在Dockerfile中指定啟動(dòng)命令
ENTRYPOINT ["java","-jar","-Xms1024m", "-Xmx1024m","--jasypt.encryptor.password=jasypt!di@soc","--jasypt.encryptor.algorithm=PBEWithMD5AndDES", "/xxx/xxx.jar"]
啟動(dòng)項(xiàng)目即可~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java中的遞歸詳解(用遞歸實(shí)現(xiàn)99乘法表來講解)
這篇文章主要介紹了Java中的遞歸詳解(用遞歸實(shí)現(xiàn)99乘法表來講解),本文給出了普通的99乘法實(shí)現(xiàn)方法和用遞歸實(shí)現(xiàn)的方法,并對(duì)比它們的不同,體現(xiàn)出遞歸的運(yùn)用及理解,需要的朋友可以參考下2015-03-03
Java實(shí)現(xiàn)經(jīng)典大富翁游戲的示例詳解
大富翁,又名地產(chǎn)大亨。是一種多人策略圖版游戲。參與者分得游戲金錢,憑運(yùn)氣(擲骰子)及交易策略,買地、建樓以賺取租金。本文將通過Java實(shí)現(xiàn)這一經(jīng)典游戲,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-02-02
java如何將Object數(shù)組轉(zhuǎn)換為指定類型數(shù)組
這篇文章主要介紹了java如何將Object數(shù)組轉(zhuǎn)換為指定類型數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
SpringBoot結(jié)合FreeMarker視圖渲染的實(shí)現(xiàn)
FreeMarker它允許開發(fā)人員使用模板和數(shù)據(jù)來生成輸出文本,如HTML網(wǎng)頁、電子郵件、配置文件和源代碼等,本文主要介紹了SpringBoot結(jié)合FreeMarker視圖渲染的實(shí)現(xiàn),感興趣的可以了解一下2024-03-03
Java實(shí)現(xiàn)多個(gè)sheet頁數(shù)據(jù)導(dǎo)出功能
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多個(gè)sheet頁數(shù)據(jù)導(dǎo)出功能的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
使用Spring Security集成手機(jī)驗(yàn)證碼登錄功能實(shí)現(xiàn)
本文詳細(xì)介紹了如何利用SpringSecurity來實(shí)現(xiàn)手機(jī)驗(yàn)證碼的注冊(cè)和登錄功能,在登錄過程中,同樣需通過驗(yàn)證碼進(jìn)行驗(yàn)證,文章還提供了相關(guān)的代碼實(shí)現(xiàn)2024-10-10

