application.properties数据库敏感信息加密这么简单?
生活随笔
收集整理的這篇文章主要介紹了
application.properties数据库敏感信息加密这么简单?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫在前面
俗話說:”顧客是上帝“,身為程序員的我有時會直接對接客戶方提出的需求,畢竟我處在提供服務的一方,所以我也會盡量的滿足臨時的要求。前些天就有了一個滿足漏洞檢測的需求,想要把數據庫的明文敏感信息加密,其實也就是密碼加密,所以也就有了這篇文章,我的項目是springboot結構,修改其實也挺簡單,廢話少說,上代碼。
這里使用的是 jasypt,而它是一個java實現的安全框架1.Maven的pom.xml依賴
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>1.8</version></dependency>2.通過測試類驗證加密加密
測試類如下
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();// 加密的算法,這個算法是默認的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==");} }運行main方法結果如下
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 加密數據庫敏感信息的任務現在就可以交工了,但是看完您會發現,這樣也不是特別安全的,確實。。。所以您有什么更好的加密方法歡迎留言總結
以上是生活随笔為你收集整理的application.properties数据库敏感信息加密这么简单?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea加载lombok插件
- 下一篇: 华为VLAN间互访配置