SpringBoot項(xiàng)目使用jasypt加解密的方法
Jasypt 是一個(gè) Java 庫,它允許開發(fā)者以最小的努力為他 / 她的項(xiàng)目添加基本的加密功能,而且不需要對密碼學(xué)的工作原理有深刻的了解。
地址: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, 找到j(luò)asypt的依賴路徑,我這里看到如下:
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>${jasypt.version}</version>
</dependency>2.然后通過上面的依賴路徑,在本地Maven倉庫中找到j(luò)asypt的jar包,通過CMD執(zhí)行下面操作:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="abc123" password=test algorithm=PBEWithMD5AndDES
3.結(jié)果如下:
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:加密的內(nèi)容
- password: 鹽值(后面解密也需使用這個(gè)鹽值進(jìn)行解密)
- OUTPUT: 加密之后的內(nèi)容
- org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI 為加密使用的類
三、對加密數(shù)據(jù)進(jìn)行解密
同樣還是使用jasypt的jar包,在CMD中執(zhí)行操作如下:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="Kh4BPjpQIt00Af/s+1Fx8w==" password=test algorithm=PBEWithMD5AndDES
結(jié)果如下:
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:要解密的內(nèi)容
- password:鹽值
- OUTPUT:解密后的內(nèi)容
- org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI 為解密使用的類
四、在SpringBoot項(xiàng)目中使用
在配置文件中,配置鹽值:
jasypt.encryptor.password=test
配置要解密的內(nèi)容,我這里配的是對數(shù)據(jù)庫密碼進(jìn)行解密:
spring.datasource.password=ENC(Kh4BPjpQIt00Af/s+1Fx8w==)
說明:ENC() 中包含的就是要解密的內(nèi)容, 一般我們通過上面的命令先生成加密內(nèi)容,然后在配置文件中將加密內(nèi)容配置到ENC()中。
到此這篇關(guān)于SpringBoot項(xiàng)目使用jasypt加解密的文章就介紹到這了,更多相關(guān)SpringBoot jasypt加解密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中JDBC實(shí)現(xiàn)動(dòng)態(tài)查詢的實(shí)例詳解
從多個(gè)查詢條件中隨機(jī)選擇若干個(gè)組合成一個(gè)DQL語句進(jìn)行查詢,這一過程叫做動(dòng)態(tài)查詢。下面通過實(shí)例代碼給大家講解JDBC實(shí)現(xiàn)動(dòng)態(tài)查詢的方法,需要的朋友參考下吧2017-07-07
Java 異常java.lang.NoSuchFieldException解決方案
這篇文章主要介紹了Java 異常java.lang.NoSuchFieldException解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
SpringBoot整合Netty開發(fā)MQTT服務(wù)端
Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)開發(fā)的網(wǎng)絡(luò)通信框架,本文主要介紹了SpringBoot如何整合Netty開發(fā)MQTT服務(wù)端,感興趣的小伙伴可以了解下2025-07-07
Struts2源碼分析之ParametersInterceptor攔截器
這篇文章主要介紹了Struts2源碼分析之ParametersInterceptor攔截器,ParametersInterceptor攔截器其主要功能是把ActionContext中的請求參數(shù)設(shè)置到ValueStack中,,需要的朋友可以參考下2019-06-06
Bean?Searcher配合SpringBoot的使用詳解
這篇文章主要介紹了Bean?Searcher配合SpringBoot的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作
這篇文章主要介紹了mybatis查詢實(shí)現(xiàn)返回List<Map>類型數(shù)據(jù)操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

