摘要:前些天就有了一個滿足漏洞檢測的需求,想要把數(shù)據(jù)庫的明文敏感信息加密,其實(shí)也就是密碼加密,所以也就有了這篇文章,我的項(xiàng)目是結(jié)構(gòu),修改其實(shí)也挺簡單,廢話少說,上代碼。所以您有什么更好的加密方法歡迎留言
寫在前面
俗話說:”顧客是上帝“,身為程序員的我有時會直接對接客戶方提出的需求,畢竟我處在提供服務(wù)的一方,所以我也會盡量的滿足臨時的要求。前些天就有了一個滿足漏洞檢測的需求,想要把數(shù)據(jù)庫的明文敏感信息加密,其實(shí)也就是密碼加密,所以也就有了這篇文章,我的項(xiàng)目是springboot結(jié)構(gòu),修改其實(shí)也挺簡單,廢話少說,上代碼。
這里使用的是 jasypt,而它是一個java實(shí)現(xiàn)的安全框架1.Maven的pom.xml依賴
2.通過測試類驗(yàn)證加密加密com.github.ulisesbocchio jasypt-spring-boot-starter 1.8
測試類如下
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig; /** * Created By charmsongo 21:04 2018/11/30 */ public class CryptorTest { /** * 加密方法 * @param plainText 需加密文本 */ public static void testEncrypt(String plainText) { StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor(); EnvironmentPBEConfig config = new EnvironmentPBEConfig(); // 加密的算法,這個算法是默認(rèn)的 config.setAlgorithm("PBEWithMD5AndDES"); //加密的密鑰,自定義 config.setPassword("CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7"); standardPBEStringEncryptor.setConfig(config); String encryptedText = standardPBEStringEncryptor.encrypt(plainText); System.out.println(encryptedText); } /** * 解密方法 * @param encryptedText 需解密文本 */ public static void testDecrypt(String encryptedText) { StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor(); EnvironmentPBEConfig config = new EnvironmentPBEConfig(); // 解密的算法,需同加密算法相同 config.setAlgorithm("PBEWithMD5AndDES"); //解密的密鑰,需同加密密鑰相同 config.setPassword("CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7"); standardPBEStringEncryptor.setConfig(config); String plainText = standardPBEStringEncryptor.decrypt(encryptedText); System.out.println(plainText); } public static void main(String[] args){ testEncrypt("root"); testDecrypt("TU1NovjRHGyjp7cSc6v0sQ=="); } }
運(yùn)行main方法結(jié)果如下
TU1NovjRHGyjp7cSc6v0sQ== root3.application.properties中配置修改
##mysql-----修改前配置 spring.datasource.url=jdbc:mysql://192.168.2.105/mysql?characterEncoding=utf8&useSSL=true spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver ##mysql-----修后前配置 jasypt.encryptor.password=CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7#引入密鑰 spring.datasource.url=jdbc:mysql://192.168.2.105/mysql?characterEncoding=utf8&useSSL=true spring.datasource.username=root spring.datasource.password=ENC(TU1NovjRHGyjp7cSc6v0sQ==) spring.datasource.driver-class-name=com.mysql.jdbc.Driver
使用 jasypt 加密數(shù)據(jù)庫敏感信息的任務(wù)現(xiàn)在就可以交工了,但是看完您會發(fā)現(xiàn),這樣也不是特別安全的,確實(shí)。。。所以您有什么更好的加密方法歡迎留言
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/72516.html
摘要:這里使用的是數(shù)據(jù)庫啟動類上加上注解在啟動類中添加對包掃描掃描多個包下的可以有以下幾種方法掃描會自動加載相關(guān)配置,數(shù)據(jù)源就會自動注入到中,會自動注入到中,可以直接使用。有配置文件下的使用掃描多個包下的可以有以下幾種方法掃描 Spring-Boot 學(xué)習(xí)筆記 1 Spring-Boot 介紹 1.1 什么是Spring-Boot Spring-Boot是由Pivotal團(tuán)隊(duì)提供的全新框架...
摘要:使用還是,根據(jù)個人喜好即可。如果錯誤頁面也需要使用模板引擎動態(tài)生成,那么放在下面的路徑。數(shù)據(jù)庫自動配置嵌入式數(shù)據(jù)庫如果類路徑中包含或的相應(yīng)包,那么就會自動配置這些嵌入式數(shù)據(jù)庫的實(shí)例和數(shù)據(jù)源。 本文參考自Spring Boot文檔。 Spring Boot 簡介 Spring框架功能很強(qiáng)大,但是就算是一個很簡單的項(xiàng)目,我們也要配置很多東西。因此就有了Spring Boot框架,它的作用很...
摘要:,這是標(biāo)記配置文件集版本化的服務(wù)器端特性。要配置對稱密鑰,需要將設(shè)置為秘密字符串或使用環(huán)境變量將其排除在純文本配置文件之外。 Spring Cloud Config Server Spring Cloud Config Server為外部配置提供基于HTTP資源的API(名稱—值對或等效的YAML內(nèi)容),通過使用@EnableConfigServer注解,服務(wù)器可嵌入Spring Bo...
摘要:殺只雞而已,你拿牛刀來做甚釋義小團(tuán)隊(duì)小項(xiàng)目選擇簡單的配置管理方式就好了,要什么配置中心,純屬沒事找事。,我就啰嗦到這里吧,下面正式介紹作為配置中心是怎么使用的。 前言 在看正文之前,我想請你回顧一下自己待過的公司都是怎么管理配置的,我想應(yīng)該會有以下幾種方式: 1、硬編碼沒有什么配置不配置的,直接寫在代碼里面,比如使用常量類優(yōu)勢:對開發(fā)友好,開發(fā)清楚地知道代碼需要用到什么配置劣勢:涉及秘...
閱讀 2696·2019-08-30 15:55
閱讀 1821·2019-08-30 15:53
閱讀 2674·2019-08-29 18:38
閱讀 940·2019-08-26 13:49
閱讀 512·2019-08-23 15:42
閱讀 3156·2019-08-22 16:33
閱讀 1020·2019-08-21 17:59
閱讀 1094·2019-08-21 17:11