成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-配置文件屬性內(nèi)容加解密

dantezhao / 2429人閱讀

摘要:基于的架構(gòu)實(shí)戰(zhàn)案例配置文件屬性內(nèi)容加解密使用過配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些。,官方給出的釋意是項(xiàng)目也采用此加密組件,結(jié)合使用。

基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-配置文件屬性內(nèi)容加解密

使用過SpringBoot配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些。打開application.properties或application.yml,比如mysql登陸密碼,redis登陸密碼以及第三方的密鑰等等一覽無(wú)余,這里介紹一個(gè)加解密組件,提高一些屬性配置的安全性。

jasypt[http://www.jasypt.org/],官方給出的釋意是:

Jasypt is a java library which allows the developer to add basic encryption capabilities to his/her projects with minimum effort, and without the need of having deep knowledge on how cryptography works.

simplemall項(xiàng)目也采用此加密組件,結(jié)合spring boot使用。國(guó)外大神Ulises Bocchio寫了一個(gè)spring boot下用的工具包,Github地址:https://github.com/ulisesbocc...,下面介紹下jasypt在spring boot的用法。

1、引入maven依賴



    com.github.ulisesbocchio
    jasypt-spring-boot-starter
    1.14

2、配置加密參數(shù)

在application.yml 中增加配置

jasypt:
  encryptor:
    #這里可以理解成是加解密的時(shí)候使用的密鑰
    password: your password

在application.properties中增加配置

jasypt.encryptor.password=your password

此處密碼的生成可以通過兩種方式生成,寫main函數(shù)生成和直接采用jar命令方式。本處采用main函數(shù)的方式,此代碼位于account-serv的test包中。

package com.simplemall.account.test;
    
import org.jasypt.encryption.StringEncryptor;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

import com.simplemall.account.AccountServApplication;

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@SpringBootTest(classes = AccountServApplication.class)
public class Jasyptest {
    
    @Autowired
    StringEncryptor encryptor;
    
    @Test
    public void getPass() {
        String result = encryptor.encrypt("root");
        System.out.println(result); 
        Assert.assertTrue(result.length() > 0);
    }
}

3、升級(jí)application.properties/yml中相應(yīng)的配置項(xiàng)

舊有配置

#mysql database config
spring.datasource.url=jdbc:mysql://localhost:3306/micro_account?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull
#use jasypt to encrypt username/password
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driverClassName=com.mysql.jdbc.Driver

升級(jí)后配置

#mysql database config
spring.datasource.url=jdbc:mysql://localhost:3306/micro_account?useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull
#use jasypt to encrypt username/password
spring.datasource.username=ENC(BnBr3/idF0PH9nd20A9BXw==)
spring.datasource.password=ENC(BnBr3/idF0PH9nd20A9BXw==)
spring.datasource.driverClassName=com.mysql.jdbc.Driver

至此,配置完成,效果就如你在simplemall源碼中看到的那樣,針對(duì)配置文件中相關(guān)屬性做了一次安全升級(jí)。

源碼:https://github.com/backkoms/s...

擴(kuò)展閱讀:

基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-序篇

基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-架構(gòu)拆解

Spring Boot + Elasticsearch 實(shí)現(xiàn)索引的日常維護(hù)

微服務(wù)體系下如何快速構(gòu)建一個(gè)服務(wù)

介紹幾款常用的在線API管理工具

如何從傳統(tǒng)軟件開發(fā)順利過渡到互聯(lián)網(wǎng)技術(shù)開發(fā)

學(xué)習(xí)新技術(shù)時(shí)你應(yīng)當(dāng)掌握的『最少必要知識(shí)』

做了七年軟件開發(fā)后反而更迷茫

軟技能:代碼之外的生存指南

程序員,保護(hù)你的好奇心和求知欲

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69018.html

相關(guān)文章

  • 基于SpringCloudMicroservices架構(gòu)實(shí)戰(zhàn)案例-架構(gòu)拆解

    摘要:服務(wù)拆分具體拆分到多細(xì),業(yè)內(nèi)沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。全部模塊基于,采用進(jìn)行項(xiàng)目管理。比較常見的做法時(shí),每個(gè)子服務(wù)模塊中獨(dú)立一個(gè)模塊,存放實(shí)體及對(duì)外的接口。 自第一篇《基于SpringCloud的Microservices架構(gòu)實(shí)戰(zhàn)案例-序篇》發(fā)表出來(lái)后,差不多有半年時(shí)間了,一直也沒有接著拆分完,有如讀本書一樣,也是需要契機(jī)的,還是要把未完成的工作做完,雖然并不是什么經(jīng)典應(yīng)用,還是有必要將si...

    gghyoo 評(píng)論0 收藏0
  • 從小白程序員一路晉升為大廠高級(jí)技術(shù)專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報(bào)率高。馬上就十一國(guó)慶假期了,給小伙伴們分享下,從小白程序員到大廠高級(jí)技術(shù)專家我看過哪些技術(shù)類書籍。 大家好,我是...

    sf_wangchong 評(píng)論0 收藏0
  • SpringCloud(第 031 篇)配置客戶端ConfigClient鏈接經(jīng)過對(duì)稱解密配置

    摘要:添加應(yīng)用啟動(dòng)類配置客戶端鏈接經(jīng)過對(duì)稱加解密的配置微服務(wù)專門為測(cè)試經(jīng)過對(duì)稱加解密的配置微服務(wù)微服務(wù)模塊。 SpringCloud(第 031 篇)配置客戶端ConfigClient鏈接經(jīng)過對(duì)稱加解密的配置微服務(wù) - 一、大致介紹 1、Git服務(wù)端的文件內(nèi)容進(jìn)行了加密處理,那么是不是配置客戶端拿到內(nèi)容之后需要解密呢? 2、答案顯然不是的,因?yàn)檫@樣解密的話,先不說實(shí)現(xiàn)起來(lái)的難易程度,單從表面...

    DDreach 評(píng)論0 收藏0
  • SpringCloud構(gòu)建微服務(wù)架構(gòu):服務(wù)注冊(cè)與發(fā)現(xiàn)

    摘要:創(chuàng)建服務(wù)注冊(cè)中心創(chuàng)建一個(gè)基礎(chǔ)的工程,命名為,并在中引入需要的依賴內(nèi)容通過注解啟動(dòng)一個(gè)服務(wù)注冊(cè)中心提供給其他應(yīng)用進(jìn)行對(duì)話。 1.Spring Cloud簡(jiǎn)介 Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具,它為基于JVM的云應(yīng)用開發(fā)中涉及的配置管理、服務(wù)發(fā)現(xiàn)、斷路器、智能路由、微代理、控制總線、全局鎖、決策競(jìng)選、分布式會(huì)話和集群狀態(tài)管理等操作提供了一種簡(jiǎn)單的開發(fā)方...

    lakeside 評(píng)論0 收藏0
  • SpringCloud(第 033 篇)配置客戶端ConfigClient鏈接經(jīng)過對(duì)稱解密配置

    SpringCloud(第 033 篇)配置客戶端ConfigClient鏈接經(jīng)過對(duì)稱加解密的配置微服務(wù) - 一、大致介紹 1、在(第 031 篇)講解了如何鏈接對(duì)稱加密的配置服務(wù)端,而鏈接對(duì)稱非對(duì)稱加密的配置微服務(wù)也是同樣的; 2、配置客戶端不需要做什么加解密的配置,加解密的配置在服務(wù)端做就好了; 3、這里還順便列舉下配置路徑的規(guī)則: /****************************...

    ARGUS 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<