亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot集成ENC對配置文件進行加密的流程步驟

 更新時間:2024年12月18日 10:23:01   作者:大貓和小黃  
Spring Boot Encoder,即Spring Boot加密模塊,它提供了一種簡單的方式來集成安全編碼功能到Spring Boot應(yīng)用程序中,它是Spring Security框架的一部分,旨在幫助開發(fā)者輕松地處理數(shù)據(jù)加密,本文給大家介紹了SpringBoot集成ENC對配置文件進行加密的流程步驟

配置文件加密,集成ENC

  • 引入POM依賴

 <!-- ENC配置文件加密 -->
    <dependency>
        <groupId>com.github.ulisesbocchio</groupId>
        <artifactId>jasypt-spring-boot-starter</artifactId>
        <version>2.1.2</version>
    </dependency>
  1. 【注意】開始使用的3.1.5版本,啟動報錯:Reason: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.redis.password' to java.lang.String

    報錯原因:因為3.x版本的默認加密算法變了,所以對應(yīng)配置文件加密算法配置得修改,同時加密的方法也得用新的加密算法計算出加密字符串。

  2. 使用工具類對明文數(shù)據(jù)進行加密處理,使用完后為了安全起見,可以刪除加密鹽值

package com.basic.test;

import org.jasypt.util.text.BasicTextEncryptor;
import org.junit.Test;

/**
 * ClassName: CryptTest
 * Package: com.basic.test
 * Description:
 *
 * @Author 王涵
 * @Date 2024/12/17 14:18
 * @Version 1.0
 */
public class CryptTest {

    /**
     * 加密鹽值,使用完成后進行刪除,或者不能提交到`生產(chǎn)環(huán)境`,比如:
     */
    private final static String PASSWORD = "basic";

    @Test
    public void encTest() {
        BasicTextEncryptor encryptor = new BasicTextEncryptor();
        // 用于設(shè)置加密密鑰。密鑰是用于加密和解密字符串的關(guān)鍵信息。
        encryptor.setPassword(PASSWORD);

        // 明文1
        String name_encrypt = "wwwbaiducom";
        // 明文2
        String password_encrypt = "123456";

        // 明文加密
        String encrypt1 = encryptor.encrypt(name_encrypt);
        String encrypt2 = encryptor.encrypt(password_encrypt);
        System.out.println("明文加密1:" + encrypt1);
        System.out.println("明文加密2:" + encrypt2);

        // 密文解密
        String decrypt1 = encryptor.decrypt(encrypt1);
        String decrypt2 = encryptor.decrypt(encrypt2);
        System.out.println("密文解密1:" + decrypt1);
        System.out.println("密文解密2:" + decrypt2);
    }
}
  • 將加密后的密碼配置到配置文件,使用ENC()包裹。不需要ENC時可以直接寫密碼,不用ENC包裹即可

 # 主庫數(shù)據(jù)源
 master:
     url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
     username: root
     password: ENC(dboFmyYdJOKJYKt1DX/jmzPBcipbHHeP)

運行時配置

  • 打開Run/Debug Configuratios

  • 打開Modify options選擇Add VM Optiosn

  • 配置VM Options為自己的加密鹽值

啟動類配置@EnableEncryptableProperties

package com.basic;

import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

/**
 * @Author WangHan
 * 心中那自由的世界,如此的清澈高遠。
 * @Date 2024/12/6 14:47
 * @Description 啟動程序
 */
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@EnableEncryptableProperties
public class BasicApplication
{
    public static void main(String[] args)
    {
        // 熱部署生效 true 開啟熱部署 false 關(guān)閉熱部署
        System.setProperty("spring.devtools.restart.enabled", "false");
        SpringApplication.run(BasicApplication.class, args);
        System.out.println("(????)??  基礎(chǔ)框架啟動成功   ?(′?`?)?");
    }
}

jar包運行指定加密規(guī)則

cd /opt/home/test/
nohup java -Xms512m -Xmx512m -jar -Djasypt.encryptor.password=0tjtdBL6Lwk73GCLVnD2gc1rDbfgCX test-base.jar --spring.profiles.active=dev > test-base.out 2>&1 &
echo start test-base		

部署到tomcat

export JAVA_OPTS="-Djasypt.encryptor.password=0tjtdBL6Lwk73GCLVnD2gc1rDbfgCX"

以上就是SpringBoot集成ENC對配置文件進行加密的流程步驟的詳細內(nèi)容,更多關(guān)于SpringBoot ENC配置文件加密的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot實現(xiàn)固定和動態(tài)定時任務(wù)的三種方法

    SpringBoot實現(xiàn)固定和動態(tài)定時任務(wù)的三種方法

    定時器是我們項目中經(jīng)常會用到的,本文主要介紹了SpringBoot實現(xiàn)固定和動態(tài)定時任務(wù)的三種方法,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • SpringCloudGateway路由失效問題

    SpringCloudGateway路由失效問題

    本文主要分析了SpringCloudGateway整合nacos時路由失效的問題,作者通過斷點跟蹤發(fā)現(xiàn)在RouteToRequestUrlFilter類中報錯,原因是在讀取配置文件的時候,沒有解析到對應(yīng)的host主機,進一步發(fā)現(xiàn)這里包含了一段正則表達式驗證,驗證配置的服務(wù)名稱是否合法
    2024-10-10
  • 如何解決org.apache.jasper.JasperException:無法為JSP編譯類詳解

    如何解決org.apache.jasper.JasperException:無法為JSP編譯類詳解

    這篇文章主要給大家介紹了關(guān)于如何解決org.apache.jasper.JasperException:無法為JSP編譯類的相關(guān)資料,原因可能是JSP文件的語法錯誤、類路徑問題或其他配置問題,建議檢查JSP文件的語法、類路徑配置和其他相關(guān)配置,需要的朋友可以參考下
    2023-06-06
  • Java字符串?dāng)?shù)字左右補全0的四種方式

    Java字符串?dāng)?shù)字左右補全0的四種方式

    這篇文章主要給大家介紹了關(guān)于Java字符串?dāng)?shù)字左右補全0的四種方式,在編程中有時候我們需要對一個字符串進行字符填充,以滿足某些特定的要求,其中補全0是一種常見的需求,需要的朋友可以參考下
    2023-08-08
  • Java實現(xiàn)一致性Hash算法詳情

    Java實現(xiàn)一致性Hash算法詳情

    這篇文章主要介紹了Java實現(xiàn)一致性Hash算法詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Java并發(fā)系列之ConcurrentHashMap源碼分析

    Java并發(fā)系列之ConcurrentHashMap源碼分析

    這篇文章主要為大家詳細分析了Java并發(fā)系列之ConcurrentHashMap源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 解決IDEA無法下載maven依賴的問題

    解決IDEA無法下載maven依賴的問題

    這篇文章主要介紹了解決IDEA無法下載maven依賴的問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 使用maven-archetype-plugin現(xiàn)有項目生成腳手架的方法

    使用maven-archetype-plugin現(xiàn)有項目生成腳手架的方法

    這篇文章主要介紹了使用maven-archetype-plugin現(xiàn)有項目生成腳手架的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java多線程基本概念以及避坑指南

    Java多線程基本概念以及避坑指南

    多線程之于進程的理解,可以類比多進程之于操作系統(tǒng),多線程指在單個程序中可以同時運行多個不同的線程執(zhí)行不同的任務(wù),這篇文章主要給大家介紹了關(guān)于Java多線程基本概念以及避坑指南的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 如何實現(xiàn)在IDEA中導(dǎo)入一個模塊

    如何實現(xiàn)在IDEA中導(dǎo)入一個模塊

    這篇文章主要介紹了如何實現(xiàn)在IDEA中導(dǎo)入一個模塊方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論