【SpringBoot】SpringBoot集成jasypt數據庫密碼加密


  一.為什么要使用jasypt庫?

    目前springboot單體應用項目中,甚至沒有使用外部配置中心的多服務的微服務架構的項目,開發/測試/生產環境中的密碼往往是明文配置在yml或properties文件中,

    這樣就會導致密碼泄露的安全隱患,被不法人員利用從而泄露公司數據信息

    因此,jasypt庫能通過密碼加密減少明文密碼泄露的風險;

  

  二.什么是jasypt庫?

   參考:http://www.jasypt.org/index.html

     Jasypt是一個Java庫,允許開發人員以最小的努力將基本的加密功能添加到他/她的項目中,而無需對密碼學的工作原理有深入的了解。

    1.用於單向和雙向加密的高安全性,基於標准的加密技術。加密密碼,文本,數字,二進制文件...

    2.與Hibernate透明集成。

    3.適用於集成到基於Spring的應用程序中,還可以與Spring Security透明集成。

    4.用於加密應用程序(即數據源)配置的集成功能。

    5.多處理器/多核系統中高性能加密的特定功能。

    6.與任何JCE提供程序一起使用的開放API。

    通俗一點就是,方便開發者使用的一個密碼加密庫的Java庫

  

  三.怎么使用jasypt庫?

   以單體Springboot項目為例,Springboot版本2.1.x,Java8

   1.引入jasypt庫的 maven依賴

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>

   2.yml文件中配置jasypt 加密密碼

jasypt:
  encryptor:
    password: Gabriel

     3.啟動類添加@EnableEncyptableProperties注解

@SpringBootApplication
@MapperScan(basePackages = "com.gabriel.stage.mapper")
@EnableEncryptableProperties
public class StageApplication {

    public static void main(String[] args) {
        SpringApplication.run(StageApplication.class, args);
    }

}

   4.通過jar包加密數據庫的明文密碼

    java –cp jar包所在路徑\jar包 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=” 數據庫密碼” password= 加密字段,隨意設置algorithm=默認 PBEWithMD5AndDES加密

  

 

   password密碼 使用ENC(加密后的密碼)配置 

    

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM