Springboot集成Jasypt實(shí)現(xiàn)配置文件加密的方法
Jasypt介紹
Jasypt是一個(gè)java庫,它允許開發(fā)員以最少的努力為他/她的項(xiàng)目添加基本的加密功能,并且不需要對(duì)加密工作原理有深入的了解
用于單向和雙向加密的高安全性、基于標(biāo)準(zhǔn)的加密技術(shù)。加密密碼,文本,數(shù)字,二進(jìn)制文件...
適合集成到基于Spring的應(yīng)用程序中,開放API,用于任何JCE提供程序...
添加如下依賴:
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
Jasypt好處
保護(hù)我們的系統(tǒng)安全,即使代碼泄露,也可以保證數(shù)據(jù)源的絕對(duì)安全。
應(yīng)用場(chǎng)景
對(duì)配置文件中的所有賬號(hào)密碼進(jìn)行加密,以及想加密的東西進(jìn)行加密。
使用方式
通過密鑰對(duì)賬號(hào)或者密碼進(jìn)行加解密,項(xiàng)目啟動(dòng)時(shí)候?qū)γ芪倪M(jìn)行解密。
實(shí)戰(zhàn)使用
加解密工具類
import org.jasypt.util.text.BasicTextEncryptor; /******************************************************************************** ** @author : ZYJ ** @date :2023/04/26 ** @description :Jasypt加密解密 *********************************************************************************/ public class Jasypt { public static void main(String[] args) { BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor(); //加密的密鑰 basicTextEncryptor.setPassword("Jasypt"); //密碼進(jìn)行加密 String encrypt = basicTextEncryptor.encrypt("密碼:123456"); //密碼進(jìn)行解密 String decrypt = basicTextEncryptor.decrypt(encrypt); //結(jié)果輸出 System.out.println("加密后的結(jié)果:"+encrypt); System.out.println("加密后的結(jié)果:"+decrypt); } }
修改配置文件,數(shù)據(jù)庫賬號(hào)密碼加密,將密文使用ENC()包含起來,放在括號(hào)里面,用ENC()的意義在啟動(dòng)的時(shí)候解密加載。
在配置文件application.yml配置密鑰,用指定的密鑰進(jìn)行解密
jasypt: encryptor: password: Jasypt
不過這種方式不可取,代碼泄露賬號(hào)密碼就和明文沒什么區(qū)別,可以將密鑰配置在環(huán)境變量中,直接做為系統(tǒng)環(huán)境變量進(jìn)行加載??!
密鑰通過環(huán)境變量方式進(jìn)行指定,修改配置文件,將密鑰換成環(huán)境變量名稱,以${環(huán)境變量名稱}的形式,在啟動(dòng)的時(shí)候通過環(huán)境變量名稱尋找變量值,也就是我們的密鑰?。。?/p>
jasypt:
encryptor:
#環(huán)境變量變量名稱
password: ${JASYPT_PASSWORD}
Windows環(huán)境變量方式指定
注意:在windows配置完環(huán)境變量的時(shí)候需要關(guān)閉IDEA重新打開,讓它加載環(huán)境變量。
Linux環(huán)境變量方式進(jìn)行指定
編輯環(huán)境變量文件
vim /etc/profile
在最下方添加
export JASYPT_PASSWORD=Jasypt
保存退出刷新環(huán)境變量
source /etc/profile
完結(jié):針對(duì)代碼中的MySQL,Redis等賬號(hào)密碼以及地址等完成加密解密,更好的保護(hù)我們的系統(tǒng)。
到此這篇關(guān)于Springboot集成Jasypt實(shí)現(xiàn)配置文件加密的文章就介紹到這了,更多相關(guān)Springboot集成Jasypt內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot使用jasypt對(duì)配置文件加密加密數(shù)據(jù)庫連接的操作代碼
- 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ù)庫密碼加密操作
- SpringBoot 集成 Jasypt 對(duì)數(shù)據(jù)庫加密以及踩坑的記錄分享
- 基于Jasypt對(duì)SpringBoot配置文件加密
- 在SpringBoot中通過jasypt進(jìn)行加密解密的方法
- SpringBoot使用Jasypt對(duì)配置文件和數(shù)據(jù)庫密碼加密
相關(guān)文章
Java8中List轉(zhuǎn)換String字符串幾種方式
這篇文章主要給大家介紹了關(guān)于Java8中List轉(zhuǎn)換String字符串的幾種方式,在實(shí)際開發(fā)中經(jīng)常遇到List轉(zhuǎn)為String字符串的情況,文中給出了幾種方法的示例代碼,需要的朋友可以參考下2023-07-07java代理 jdk動(dòng)態(tài)代理應(yīng)用案列
java代理有jdk動(dòng)態(tài)代理、cglib代理,這里只說下jdk動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理主要使用的是java反射機(jī)制,需要了解的朋友可以參考下2012-11-11SpringBoot獲取前臺(tái)參數(shù)的六種方式以及統(tǒng)一響應(yīng)
本文主要介紹了SpringBoot獲取前臺(tái)參數(shù)的六種方式以及統(tǒng)一響應(yīng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Mybatis實(shí)現(xiàn)關(guān)聯(lián)關(guān)系映射的方法示例
本文主要介紹了Mybatis實(shí)現(xiàn)關(guān)聯(lián)關(guān)系映射的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07JavaWeb實(shí)現(xiàn)用戶登錄注冊(cè)功能實(shí)例代碼(基于Servlet+JSP+JavaBean模式)
這篇文章主要基于Servlet+JSP+JavaBean開發(fā)模式實(shí)現(xiàn)JavaWeb用戶登錄注冊(cè)功能實(shí)例代碼,非常實(shí)用,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-05-05