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

springbooot整合dynamic?datasource數(shù)據(jù)庫密碼加密方式

 更新時間:2024年01月24日 08:39:36   作者:今天寫bug了嗎?  
這篇文章主要介紹了springbooot整合dynamic?datasource?數(shù)據(jù)庫密碼加密方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

該文檔主要用于在springboot中利用baomidou整合多數(shù)據(jù)源時候,如果需要對數(shù)據(jù)庫密碼進(jìn)行加密該進(jìn)行哪些操作。

1.引入依賴

 		<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.2.1</version>
        </dependency>

2.生成密鑰私鑰

    public static void main(String[] args) throws Exception {
        //CryptoUtils 為自帶工具 keySize 密鑰越長,安全性越高
        String[] strings = CryptoUtils.genKeyPair(512);
        System.out.println("公鑰:"+strings[0]);
        System.out.println("私鑰:"+strings[1]);
    }

輸出結(jié)果:

公鑰用于加密,私鑰用于解密,基于Rsa算法進(jìn)行的加密

公鑰:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAvFj7PQS+gOWPfpeDjS37qLikoJivZOdx4KbjuLFHENS7F10ztjKFx+MUt3iOmQO8nCYdwOZJeS2ky5Oof6HI1wIDAQABAkEAmvqE0HKk5p798eZuQq8BkpVMMTExsU+YLohkfMayeS+E7/Yp2fG2XyrQfMh8hQJ9C9bWW3iKr+icOssW3HkoYQIhAP5tAUAJZuYBkDIxpCJnDhCjhRoimENsz/PqjEizdVaPAiEAvYNQBxTKaEZ0r9fUPtyBItc36L9cPuFUrhS6w8k/zTkCIBRKx12/IjjYCRMnyGqCA6oqEJScC77c790JaPTnc0VbAiEAvFvxhLhDXVT50XShPkGIEIr8xNa95rmrosJzxvkV8vECH3TIKWgr09RmQztQh49xOu5ca0y7nXDIrEeg2AiktEE=
私鑰:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALxY+z0EvoDlj36Xg40t+6i4pKCYr2TnceCm47ixRxDUuxddM7YyhcfjFLd4jpkDvJwmHcDmSXktpMuTqH+hyNcCAwEAAQ==

        // 公鑰加密
        String encrypt = CryptoUtils.encrypt(s1, "password");
        System.out.println("密碼加密為:"+ encrypt);
        // 私鑰進(jìn)行解密
        System.out.println("密碼解密為:"+CryptoUtils.decrypt(s2,encrypt));

3.進(jìn)行yml配置

spring: 
  datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
    dynamic:
      druid:
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 'X'
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,wall,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      datasource:
          master:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://xxxx.xx.xxxxx:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            username: root
           # ENC()括號內(nèi)就為加密的密碼;
            password: ENC(b5YQRCK++Ek9nNawxXfwvVxbufXJORqMHM5Pv9W0VMSuN+UCZec7bakQV4ZOo025WM7Cf/iV4E5RgVaPF5SSVQ==)
            #注意:public-key為剛才生成私鑰:但直接放入配置文件不安全,建議放入到啟動項中
            public-key: ${publicKey}
          # 從庫數(shù)據(jù)源
          slave:
            driver-class-name: org.postgresql.Driver
            url: jdbc:postgresql://xxxxxxxx:5432/test2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            username: root
            password: ENC(b5YQRCK++Ek9nNawxXfwvVxbufXJORqMHM5Pv9W0VMSuN+UCZec7bakQV4ZOo025WM7Cf/iV4E5RgVaPF5SSVQ==)
            public-key: ${publicKey}

注意:

  • 可以直接使用CryptoUtils.encrypt("password),則下列的public-key參數(shù)可以不配置,視為使用默認(rèn)rsa密鑰對(不推薦)
  • public-key與password為同一級,切記層級不能配錯

4.項目啟動項配置

java -jar xxxxx.jar --publicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALxY+z0EvoDlj36Xg40t+6i4pKCYr2T.....

5.idea項目配置

6.注意事項

如果啟動報錯,可以嘗試去掉

druid@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})

因為部分項目可能引入了druid,又引用了苞米豆,會引發(fā)沖突

總結(jié)

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

相關(guān)文章

  • Spring集成Web環(huán)境的實例詳解

    Spring集成Web環(huán)境的實例詳解

    這篇文章主要介紹了Spring集成Web環(huán)境,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • IDEA MyBatis Plugins自動生成實體類和mapper.xml

    IDEA MyBatis Plugins自動生成實體類和mapper.xml

    這篇文章主要介紹了IDEA MyBatis Plugins自動生成實體類和mapper.xml,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Ribbon從入門到精通實戰(zhàn)案例演示

    Ribbon從入門到精通實戰(zhàn)案例演示

    Ribbon是Netflix開源的客戶端負(fù)載均衡工具,用于微服務(wù)通信,動態(tài)獲取服務(wù)實例并應(yīng)用輪詢、隨機(jī)、權(quán)重響應(yīng)時間等策略,下面通過實戰(zhàn)案例給大家解析Ribbon的核心組件與工作原理,感興趣的朋友一起看看吧
    2025-08-08
  • java request.getHeader(

    java request.getHeader("user-agent")獲取瀏覽器信息的方法

    這篇文章主要介紹了java request.getHeader("user-agent")獲取瀏覽器信息的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺談Java ThreadPoolExecutor的使用

    淺談Java ThreadPoolExecutor的使用

    今天我們來學(xué)習(xí)一下Java ThreadPoolExecutor的使用,文中有非常詳細(xì)的介紹及代碼示例,對正在學(xué)習(xí)Java的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • Springboot logback-spring.xml無法加載問題

    Springboot logback-spring.xml無法加載問題

    這篇文章主要介紹了Springboot logback-spring.xml無法加載問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 一文深入了解Java中的AtomicInteger類

    一文深入了解Java中的AtomicInteger類

    AtomicInteger是java并發(fā)包下面提供的原子類,主要操作的是int類型的整型,通過調(diào)用底層Unsafe的CAS等方法實現(xiàn)原子操作,這篇文章主要給大家介紹了關(guān)于如何通過一文深入了解Java中AtomicInteger類的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • 基于springboot的RestTemplate、okhttp和HttpClient對比分析

    基于springboot的RestTemplate、okhttp和HttpClient對比分析

    這篇文章主要介紹了基于springboot的RestTemplate、okhttp和HttpClient對比分析,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Java代碼簡化工具Lombok的使用詳解

    Java代碼簡化工具Lombok的使用詳解

    這篇文章主要介紹了Java代碼簡化工具Lombok的使用,Lombok是一個Java庫,它通過注解的方式自動插入編輯器和構(gòu)建工具中,從而簡化Java代碼的編寫,需要的朋友可以參考下
    2025-05-05
  • 詳解Java spring 中類注冊六種方式

    詳解Java spring 中類注冊六種方式

    在Spring中,將類注冊為容器管理的Bean有多種方式,涵蓋注解驅(qū)動、配置類、XML、動態(tài)注冊等場景,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-09-09

最新評論

古浪县| 镇原县| 兰州市| 精河县| 陇川县| 法库县| 桦甸市| 广南县| 团风县| 尉犁县| 陆良县| 板桥市| 二手房| 东丽区| 门头沟区| 鄱阳县| 黄梅县| 明光市| 邹城市| 尼木县| 丰台区| 常山县| 昌邑市| 饶阳县| 阿图什市| 阜新| 乌兰县| 青川县| 句容市| 旌德县| 大丰市| 莎车县| 兴化市| 大埔县| 营口市| 天门市| 松桃| 津市市| 巩留县| 巴彦县| 仲巴县|