日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot配置jasypt实现对配置文件敏感信息加密全流程详解

發(fā)布時間:2025/1/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot配置jasypt实现对配置文件敏感信息加密全流程详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、引入依賴
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.4</version> </dependency>
2、對信息加密 —以mysql數(shù)據(jù)庫密碼為例

寫一個main方法或者測試方法:

  • 設(shè)置隨機鹽及加密算法
  • 對mysql數(shù)據(jù)庫密碼加密
  • 得到加密后的密文,并記錄
  • public static void main(String[] args) {StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();SimpleStringPBEConfig config = new SimpleStringPBEConfig();// 設(shè)置密鑰/隨機鹽config.setPassword("123456");// 設(shè)置加密方法config.setAlgorithm("PBEWithMD5AndDES");encryptor.setConfig(config);// 加密數(shù)據(jù)String encryptStr = encryptor.encrypt("mysql數(shù)據(jù)庫密碼");//每次執(zhí)行得到加密結(jié)果不同,但解密結(jié)果都一樣System.out.println(encryptStr);// 解密System.out.println(encryptor.decrypt(encryptStr));}

    3、修改配置文件

    spring.datasource.password以密文形式進行配置:ENC(密文數(shù)據(jù))

    spring:datasource:username: rootpassword: ENC(OS40I92MLgDJy3d4A7905wyzrFPI5v4Vt5Zr7RwxsvQ=) //上一步得到的密文密碼url: jdbc:mysql://127.0.0.1:3306/table?serverTimezone=GMT%2B8 jasypt:encryptor:algorithm: PBEWithMD5AndDES //上一步用的加密算法password: 123456 //上一步用的隨機鹽,這里(自測時)先寫上,項目正式部署時去掉
    4、啟動項目查看數(shù)據(jù)庫是否正常訪問

    上來一個ERROR。。。

    *************************** APPLICATION FAILED TO START ***************************Description:Failed to bind properties under 'spring.datasource.password' to java.lang.String:Reason: Failed to bind properties under 'spring.datasource.password' to java.lang.StringAction:Update your application's configuration

    原因是:引入的jasypt依賴3.0.4版本問題,新版本加密算法升級,需加入iv-generator-classname: org.jasypt.iv.NoIvGenerator,或者退回3.0.0以下版本

    重新啟動正常運行,數(shù)據(jù)庫正常訪問

    5、啟動傳參形式加入隨機鹽

    經(jīng)過上述測試后,就可以把jasypt.encryptor.password: 123456配置項去掉了。因為隨機鹽是不能暴露在配置文件中的,否則加密就無意義了。注釋掉該項配置,然后項目啟動時傳入相應(yīng)參數(shù)。

    mvn命令啟動項目時加入jasypt.encryptor.password=123456隨機鹽配置:mvn spring-boot:run -Dspring-boot.run.arguments=--jasypt.encryptor.password=123456 (pom中需spring-boot-maven-plugin插件)

    啟動成功,數(shù)據(jù)庫正常訪問!

    總結(jié)

    以上是生活随笔為你收集整理的springboot配置jasypt实现对配置文件敏感信息加密全流程详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。