SpringBoot項目使用jasypt加解密的方法
Jasypt 是一個 Java 庫,它允許開發(fā)者以最小的努力為他 / 她的項目添加基本的加密功能,而且不需要對密碼學的工作原理有深刻的了解。
地址:https://github.com/jasypt/jasypt
一、添加依賴
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency>
二、生成加密數(shù)據(jù)
1.根據(jù) jasypt-spring-boot-starter
的父級POM, 找到jasypt的依賴路徑,我這里看到如下:
<dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt</artifactId> <version>${jasypt.version}</version> </dependency>
2.然后通過上面的依賴路徑,在本地Maven倉庫中找到jasypt的jar包,通過CMD執(zhí)行下面操作:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="abc123" password=test algorithm=PBEWithMD5AndDES
3.結果如下:
E:\repository\org\jasypt\jasypt\1.9.2>java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="abc123" password=test algorithm=PBEWithMD5AndDES
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.202-b08
----ARGUMENTS-------------------
algorithm: PBEWithMD5AndDES
input: abc123
password: test
----OUTPUT----------------------
Kh4BPjpQIt00Af/s+1Fx8w==
說明:
- algorithm: 加密算法
- input:加密的內容
- password: 鹽值(后面解密也需使用這個鹽值進行解密)
- OUTPUT: 加密之后的內容
- org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI 為加密使用的類
三、對加密數(shù)據(jù)進行解密
同樣還是使用jasypt的jar包,在CMD中執(zhí)行操作如下:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="Kh4BPjpQIt00Af/s+1Fx8w==" password=test algorithm=PBEWithMD5AndDES
結果如下:
E:\repository\org\jasypt\jasypt\1.9.2>java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="Kh4BPjpQIt00Af/s+1Fx8w==" password=test algorithm=PBEWithMD5AndDES
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 25.202-b08
----ARGUMENTS-------------------
algorithm: PBEWithMD5AndDES
input: Kh4BPjpQIt00Af/s+1Fx8w==
password: test
----OUTPUT----------------------
abc123
說明:
- algorithm:加密算法
- input:要解密的內容
- password:鹽值
- OUTPUT:解密后的內容
- org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI 為解密使用的類
四、在SpringBoot項目中使用
在配置文件中,配置鹽值:
jasypt.encryptor.password=test
配置要解密的內容,我這里配的是對數(shù)據(jù)庫密碼進行解密:
spring.datasource.password=ENC(Kh4BPjpQIt00Af/s+1Fx8w==)
說明:ENC()
中包含的就是要解密的內容, 一般我們通過上面的命令先生成加密內容,然后在配置文件中將加密內容配置到ENC()
中。
到此這篇關于SpringBoot項目使用jasypt加解密的文章就介紹到這了,更多相關SpringBoot jasypt加解密內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java?Stream如何將List分組成Map或LinkedHashMap
這篇文章主要給大家介紹了關于Java?Stream如何將List分組成Map或LinkedHashMap的相關資料,stream流是Java8的新特性,極大簡化了集合的處理操作,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-12-12Spring Boot Admin監(jiān)控服務如何使用
這篇文章主要介紹了Spring Boot Admin監(jiān)控服務如何使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04SpringBoot如何根據(jù)用戶系統(tǒng)時區(qū)動態(tài)展示時間
這篇文章主要介紹了SpringBoot如何根據(jù)用戶系統(tǒng)時區(qū)動態(tài)展示時間,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01springboot 整合EhCache實現(xiàn)單服務緩存的操作方法
這篇文章主要介紹了springboot 整合EhCache實現(xiàn)單服務緩存的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07SpringBoot項目多數(shù)據(jù)源及mybatis 駝峰失效的問題解決方法
這篇文章主要介紹了SpringBoot項目多數(shù)據(jù)源及mybatis 駝峰失效的問題解決方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07利用Mybatis?Plus實現(xiàn)一個SQL攔截器
SQL攔截器是一種用于攔截和修改Mybatis執(zhí)行的SQL語句的工具,通過使用SQL攔截器,開發(fā)人員可以在執(zhí)行SQL語句之前或之后對其進行修改或記錄,本文就來借助一下Mybatis-Plus實現(xiàn)一個SQL攔截器吧2023-05-05