基于Jasypt對(duì)SpringBoot配置文件加密
這篇文章主要介紹了基于Jasypt對(duì)SpringBoot配置文件加密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
引入jasypt
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
生成要加密的字符串
將數(shù)據(jù)庫(kù)的用戶名和密碼進(jìn)行加密
public static void main(String[] args) {
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
//加密所需的salt(鹽)
textEncryptor.setPassword("G0CvDz7oJn6");
//要加密的數(shù)據(jù)(數(shù)據(jù)庫(kù)的用戶名或密碼)
String username = textEncryptor.encrypt("root");
String password = textEncryptor.encrypt("root123");
System.out.println("username:"+username);
System.out.println("password:"+password);
}
輸出信息為:
username:i8QgEN4uOy2E1rHzrpSTYA== password:6eaMh/RX5oXUVca9ignvtg==
或者使用Maven下載好的jar包加密\Maven\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=G0CvDz7oJn6 algorithm=PBEWithMD5AndDES input=root
輸出信息為:
----ENVIRONMENT----------------- Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.171-b11 ----ARGUMENTS------------------- input: root algorithm: PBEWithMD5AndDES password: G0CvDz7oJn6 ----OUTPUT---------------------- Gvkoz+sbFWiRe3ECtizV1A==
拷貝-OUTPUT-下的結(jié)果即可
配置properties文件
將生成的加密串配置ENC(加密串)到application.properties中
# 加密所需的salt(鹽) jasypt.encryptor.password=G0CvDz7oJn6 # 默認(rèn)加密方式PBEWithMD5AndDES,可以更改為PBEWithMD5AndTripleDES # jasypt.encryptor.algorithm=PBEWithMD5AndDES spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==) spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)
加密方式對(duì)應(yīng)的類(lèi)為BasicTextEncryptor和StrongTextEncryptor
public BasicTextEncryptor() {
super();
this.encryptor = new StandardPBEStringEncryptor();
this.encryptor.setAlgorithm("PBEWithMD5AndDES");
}
public StrongTextEncryptor() {
super();
this.encryptor = new StandardPBEStringEncryptor();
this.encryptor.setAlgorithm("PBEWithMD5AndTripleDES");
}

類(lèi)圖
部署時(shí)配置salt(鹽)值
為了防止salt(鹽)泄露,反解出密碼.可以在項(xiàng)目部署的時(shí)候使用命令傳入salt(鹽)值
java -jar -Djasypt.encryptor.password=G0CvDz7oJn6 xxx.jar
或者在服務(wù)器的環(huán)境變量里配置,進(jìn)一步提高安全性
打開(kāi)/etc/profile文件
vim /etc/profile
文件末尾插入
export JASYPT_PASSWORD = G0CvDz7oJn6
編譯
source /etc/profile
運(yùn)行
java -jar -Djasypt.encryptor.password=${JASYPT_PASSWORD} xxx.jar
官方地址 : https://github.com/ulisesbocchio/jasypt-spring-boot
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- springboot使用jasypt對(duì)配置文件加密加密數(shù)據(jù)庫(kù)連接的操作代碼
- SpringBoot整合Jasypt實(shí)現(xiàn)配置加密的步驟詳解
- Springboot集成Jasypt實(shí)現(xiàn)配置文件加密的方法
- 微服務(wù)SpringBoot整合Jasypt加密工具的場(chǎng)景分析
- SpringBoot整合jasypt實(shí)現(xiàn)敏感信息的加密詳解
- SpringBoot集成Jasypt敏感信息加密的操作方法
- springboot 項(xiàng)目使用jasypt加密數(shù)據(jù)源的方法
- Jasypt對(duì)SpringBoot配置文件加密
- jasypt 集成SpringBoot 數(shù)據(jù)庫(kù)密碼加密操作
- SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫(kù)加密以及踩坑的記錄分享
- 在SpringBoot中通過(guò)jasypt進(jìn)行加密解密的方法
- SpringBoot使用Jasypt對(duì)配置文件和數(shù)據(jù)庫(kù)密碼加密
相關(guān)文章
java使用JMF實(shí)現(xiàn)音樂(lè)播放功能
這篇文章主要為大家詳細(xì)介紹了java使用JMF實(shí)現(xiàn)音樂(lè)播放的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
spring AOP自定義注解方式實(shí)現(xiàn)日志管理的實(shí)例講解
下面小編就為大家分享一篇spring AOP自定義注解方式實(shí)現(xiàn)日志管理的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
IDEA?高版本?PlantUML?插件默認(rèn)主題修改的詳細(xì)過(guò)程
PlantUML 是非常不錯(cuò)的使用腳本畫(huà)圖的工具,效率很高,很多人會(huì)選擇在 IDEA 中安裝 PlantUML Integration 插件,這篇文章主要介紹了IDEA?高版本?PlantUML?插件默認(rèn)主題修改,需要的朋友可以參考下2022-09-09
Java實(shí)現(xiàn)MySQL數(shù)據(jù)實(shí)時(shí)同步至Elasticsearch的方法詳解
MySQL擅長(zhǎng)事務(wù)處理,而Elasticsearch(ES)則專(zhuān)注于搜索與分析,將MySQL數(shù)據(jù)實(shí)時(shí)同步到ES,可以充分發(fā)揮兩者的優(yōu)勢(shì),下面我們就來(lái)看看如何使用Java實(shí)現(xiàn)這一功能吧2025-03-03
Java?web實(shí)現(xiàn)頭像上傳以及讀取顯示
這篇文章主要為大家詳細(xì)介紹了Java?web實(shí)現(xiàn)頭像上傳以及讀取顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
Java數(shù)據(jù)結(jié)構(gòu)順序表的詳細(xì)講解
大家好,今天給大家?guī)?lái)的是順序表,我覺(jué)得順序表還是有比較難理解的地方的,于是我就把這一塊的內(nèi)容全部整理到了一起,希望能夠給剛剛進(jìn)行學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的人帶來(lái)一些幫助,或者是已經(jīng)學(xué)過(guò)這塊的朋友們帶來(lái)更深的理解,我們現(xiàn)在就開(kāi)始吧2022-05-05
Java JDBC API介紹與實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池流程
JDBC是指Java數(shù)據(jù)庫(kù)連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口( JAVA API),用來(lái)連接 Java 編程語(yǔ)言和廣泛的數(shù)據(jù)庫(kù)。從根本上來(lái)說(shuō),JDBC 是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問(wèn)到底層數(shù)據(jù)庫(kù),本篇文章我們來(lái)了解JDBC API及數(shù)據(jù)庫(kù)連接池2022-12-12

