国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

dantezhao / 2419人閱讀

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

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

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

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項目也采用此加密組件,結(jié)合spring boot使用。國外大神Ulises Bocchio寫了一個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:
    #這里可以理解成是加解密的時候使用的密鑰
    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、升級application.properties/yml中相應(yī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

升級后配置

#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源碼中看到的那樣,針對配置文件中相關(guān)屬性做了一次安全升級。

源碼: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)建一個服務(wù)

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

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

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

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/69018.html

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

    ARGUS 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<