最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot配置文件加密方式

 更新時(shí)間:2025年10月24日 10:29:15   作者:滿小超的代碼世界  
文章介紹了使用Jasypt對(duì)服務(wù)器配置文件進(jìn)行加密,包括引入依賴、配置密鑰、生成密鑰、IDEA和Linux啟動(dòng)配置等步驟,解決了版本和JCE安全插件的問題

前面敘述了數(shù)據(jù)傳遞過程中的加密,需要使用到aop對(duì)result和request進(jìn)行加密和解密。

現(xiàn)在需要對(duì)服務(wù)器的中間件進(jìn)行保護(hù)設(shè)置,在配置文件中盡量不要暴露出來服務(wù)器件的密碼賬號(hào)。

需要對(duì)配置文件進(jìn)行加密處理。

一、jasypt

jasypt是專門加密各種配置文件的依賴包

		<dependency>
			<groupId>com.github.ulisesbocchio</groupId>
			<artifactId>jasypt-spring-boot-starter</artifactId>
			<version>3.0.3</version>
		</dependency>

jasypt有多種版本,并且包之間的依賴問題比較多

二、使用步驟

1.引入依賴

添加配置

如下(yml配置):

jasypt:
  encryptor:
    algorithm: PBEWithMD5AndDES		#算法-固定寫法一般沒人改
    password: 1234qwer
    iv-generator-classname: org.jasypt.iv.NoIvGenerator	#設(shè)置初始向量IV生成器的類名

2.生成密鑰

使用代碼生成密鑰

public class JasyptUtil {

    /**
    * 加密方法
    * @param salt 鹽值
    * @param targetString 待加密字符串
    * @return 密文
    */
    public static String encrypt(String salt, String targetString) {
        BasicTextEncryptor encryptor = new BasicTextEncryptor();
        encryptor.setPassword(salt);
        return encryptor.encrypt(targetString);
    }

    /**
    * 解密方法
    * @param salt 鹽值
    * @param targetString 待解密字符串
    * @return 明文
    */
    public static String decrypt(String salt,String targetString) {
        BasicTextEncryptor encryptor = new BasicTextEncryptor();
        encryptor.setPassword(salt);
        return encryptor.decrypt(targetString);
    }

    public static void main(String[] args) {
        String salt = "1234qwer";
        String password = "xxxxx";
        // 進(jìn)行加密操作
        String encryptString1 = encrypt(salt, password);
        // 進(jìn)行解密操作
        String decryptString1 = decrypt(salt, encryptString1);
        // 輸出明文和密文
        System.out.println("encryptString1="+encryptString1);
        System.out.println("decryptString1="+decryptString1);
    }
}

使用jar包生成密鑰

java -cp D:\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="xxxxx" password=1234qwer algorithm=PBEWithMD5AndDES

在yml配置文件中修改密鑰:

password: ENC(KMMwXkYtccOvU+mMOXXojP7Tif1Ja9fN)

ENC是jaspty中默認(rèn)的,可以設(shè)置配置項(xiàng)自定義設(shè)置

3.idea啟動(dòng)添加環(huán)境變量

在idea中設(shè)置啟動(dòng)項(xiàng)configuration,添加環(huán)境變量

4.linux環(huán)境啟動(dòng)

nohup java -Djasypt.encrypt.password=1234qwer  -jar xxxxx.jar > nohup.log &

報(bào)錯(cuò)

版本問題,解決沖突

如果錯(cuò)誤信息是缺少jce安全插件,那么需要下載jce_policy-8的zip包去放入到JDK下的jre/lib/security下

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JVM自定義類加載器在代碼擴(kuò)展性實(shí)踐分享

    JVM自定義類加載器在代碼擴(kuò)展性實(shí)踐分享

    這篇文章主要介紹了JVM自定義類加載器在代碼擴(kuò)展性實(shí)踐分享,一個(gè)類型從被加載到虛擬機(jī)內(nèi)存中開始,到卸載出內(nèi)存為止,它的整個(gè)生命周期將會(huì)經(jīng)歷加載、驗(yàn)證、準(zhǔn)備、解析、初始化 、使用和卸載七個(gè)階段,其中驗(yàn)證、準(zhǔn)備、解析三個(gè)部分統(tǒng)稱為連接
    2022-06-06
  • java處理日期的工具類DateUtil

    java處理日期的工具類DateUtil

    這篇文章主要為大家詳細(xì)介紹了java處理日期的工具類DateUtil,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • SpringMVC使用MultipartResolver實(shí)現(xiàn)文件上傳

    SpringMVC使用MultipartResolver實(shí)現(xiàn)文件上傳

    MultipartResolver 用于處理文件上傳,當(dāng)收到請(qǐng)求時(shí) DispatcherServlet 的 checkMultipart() 方法會(huì)調(diào)用 MultipartResolver 的 isMultipart() 方法判斷請(qǐng)求中是否包含文件
    2023-02-02
  • javaWeb中使用Redis緩存實(shí)例解析

    javaWeb中使用Redis緩存實(shí)例解析

    這篇文章主要介紹了javaWeb中使用Redis緩存實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Javaweb實(shí)現(xiàn)完整個(gè)人博客系統(tǒng)流程

    Javaweb實(shí)現(xiàn)完整個(gè)人博客系統(tǒng)流程

    這篇文章主要介紹了怎樣用Java來實(shí)現(xiàn)一個(gè)完整的個(gè)人博客系統(tǒng),我們通過實(shí)操上手的方式可以高效的鞏固所學(xué)的基礎(chǔ)知識(shí),感興趣的朋友一起來看看吧
    2022-03-03
  • java1.5中訪問環(huán)境變量

    java1.5中訪問環(huán)境變量

    這篇文章主要介紹了如何在java1.5中訪問環(huán)境變量,使用System.getenv()可以訪問環(huán)境變量
    2014-01-01
  • Mybatis Mapper接口工作原理實(shí)例解析

    Mybatis Mapper接口工作原理實(shí)例解析

    這篇文章主要介紹了Mybatis Mapper接口工作原理實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java死鎖產(chǎn)生原因及示例

    Java死鎖產(chǎn)生原因及示例

    本文主要介紹了Java死鎖產(chǎn)生原因及示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Apache?Maven3.6.0的下載安裝和環(huán)境配置(圖文教程)

    Apache?Maven3.6.0的下載安裝和環(huán)境配置(圖文教程)

    本文主要介紹了Apache?Maven3.6.0的下載安裝和環(huán)境配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • SpringMVC多個(gè)文件上傳及上傳后立即顯示圖片功能

    SpringMVC多個(gè)文件上傳及上傳后立即顯示圖片功能

    這篇文章主要介紹了SpringMVC多個(gè)文件上傳及上傳后立即顯示圖片功能,非常不錯(cuò),具有參考借鑒價(jià)值功能,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

巨野县| 永定县| 新津县| 双城市| 钟祥市| 依安县| 贺兰县| 大足县| 温州市| 噶尔县| 苏尼特右旗| 新巴尔虎右旗| 紫金县| 和龙市| 凤庆县| 邵武市| 贵南县| 太和县| 从化市| 志丹县| 玛多县| 靖边县| 白水县| 德阳市| 孝昌县| 寻乌县| 祁阳县| 曲阜市| 衡山县| 建始县| 金川县| 许昌县| 沈阳市| 兴义市| 汤阴县| 广汉市| 枣强县| 江油市| 平定县| 凤山县| 太仆寺旗|