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

SpringBoot集成ENC對(duì)配置文件進(jìn)行加密的流程步驟

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

配置文件加密,集成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版本,啟動(dòng)報(bào)錯(cuò):Reason: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.redis.password' to java.lang.String

    報(bào)錯(cuò)原因:因?yàn)?.x版本的默認(rèn)加密算法變了,所以對(duì)應(yīng)配置文件加密算法配置得修改,同時(shí)加密的方法也得用新的加密算法計(jì)算出加密字符串。

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

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 {

    /**
     * 加密鹽值,使用完成后進(jìn)行刪除,或者不能提交到`生產(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時(shí)可以直接寫密碼,不用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)

運(yùn)行時(shí)配置

  • 打開Run/Debug Configuratios

  • 打開Modify options選擇Add VM Optiosn

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

啟動(dòng)類配置@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
 * 心中那自由的世界,如此的清澈高遠(yuǎn)。
 * @Date 2024/12/6 14:47
 * @Description 啟動(dòng)程序
 */
@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ǔ)框架啟動(dòng)成功   ?(′?`?)?");
    }
}

jar包運(yùn)行指定加密規(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對(duì)配置文件進(jìn)行加密的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot ENC配置文件加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java如何動(dòng)態(tài)的處理接口的返回?cái)?shù)據(jù)

    java如何動(dòng)態(tài)的處理接口的返回?cái)?shù)據(jù)

    本文主要介紹了java如何動(dòng)態(tài)的處理接口的返回?cái)?shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Java?idea中不同項(xiàng)目需要切換jdk版本的步驟記錄

    Java?idea中不同項(xiàng)目需要切換jdk版本的步驟記錄

    在我們項(xiàng)目開發(fā)的過程中可能會(huì)遇到JDK版本過高或者過低導(dǎo)致一些程序無法啟動(dòng),不兼容的問題,這篇文章主要介紹了Java?idea中不同項(xiàng)目需要切換jdk版本的相關(guān)資料,需要的朋友可以參考下
    2025-08-08
  • Caffeine本地緩存示例詳解

    Caffeine本地緩存示例詳解

    Caffeine是一種高性能的緩存庫,是基于Java 8的最佳(最優(yōu))緩存框架,這篇文章主要介紹了Caffeine本地緩存相關(guān)知識(shí),需要的朋友可以參考下
    2023-07-07
  • java使用JSONObject實(shí)例

    java使用JSONObject實(shí)例

    JAVA中JSONObject對(duì)象的使用方法
    2013-11-11
  • 解析Java的Jackson庫中對(duì)象的序列化與數(shù)據(jù)泛型綁定

    解析Java的Jackson庫中對(duì)象的序列化與數(shù)據(jù)泛型綁定

    這篇文章主要介紹了解析Java的Jackson庫中對(duì)象的序列化與數(shù)據(jù)泛型綁定,Jackson通常被用來實(shí)現(xiàn)Java對(duì)象和JSON數(shù)據(jù)的相互轉(zhuǎn)換功能,需要的朋友可以參考下
    2016-01-01
  • 解決RabbitMq消息隊(duì)列Qos?Prefetch消息堵塞問題

    解決RabbitMq消息隊(duì)列Qos?Prefetch消息堵塞問題

    這篇文章主要為大家介紹了關(guān)于如何解決解決RabbitMq?Qos?Prefetch消息堵塞的問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-01-01
  • 如何使用spring-ws發(fā)布webservice服務(wù)

    如何使用spring-ws發(fā)布webservice服務(wù)

    文章介紹了如何使用Spring-WS發(fā)布Web服務(wù),包括添加依賴、創(chuàng)建XSD文件、生成JAXB實(shí)體、配置Endpoint、啟動(dòng)服務(wù)等步驟,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Java項(xiàng)目防止SQL注入的幾種方法總結(jié)

    Java項(xiàng)目防止SQL注入的幾種方法總結(jié)

    SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,在客戶端在向服務(wù)器發(fā)送請(qǐng)求的時(shí)候,sql命令通過表單提交或者url字符串拼接傳遞到后臺(tái)持久層,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java項(xiàng)目防止SQL注入的幾種方法,需要的朋友可以參考下
    2023-04-04
  • MyBatis自定義類型轉(zhuǎn)換器實(shí)現(xiàn)加解密

    MyBatis自定義類型轉(zhuǎn)換器實(shí)現(xiàn)加解密

    這篇文章主要介紹了MyBatis自定義類型轉(zhuǎn)換器實(shí)現(xiàn)加解密的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • 詳解Guava Cache本地緩存在Spring Boot應(yīng)用中的實(shí)踐

    詳解Guava Cache本地緩存在Spring Boot應(yīng)用中的實(shí)踐

    Guava Cache是一個(gè)全內(nèi)存的本地緩存實(shí)現(xiàn),本文將講述如何將 Guava Cache緩存應(yīng)用到 Spring Boot應(yīng)用中。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評(píng)論

百色市| 海安县| 西乡县| 区。| 寻乌县| 阜平县| 临沧市| 麻阳| 深泽县| 湘潭县| 定边县| 项城市| 琼结县| 宁安市| 柞水县| 铜鼓县| 辽源市| 两当县| 靖远县| 乌拉特后旗| 丁青县| 额尔古纳市| 密山市| 怀集县| 蒙山县| 平山县| 资中县| 延边| 北川| 古蔺县| 金山区| 吉木乃县| 彰化县| 沙坪坝区| 江门市| 乳源| 四会市| 五河县| 夹江县| 湟源县| 名山县|