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

jasypt對(duì)配置文件的數(shù)據(jù)加密與解密方式

 更新時(shí)間:2024年01月12日 10:02:34   作者:龍域、白澤  
這篇文章主要介紹了jasypt對(duì)配置文件的數(shù)據(jù)加密與解密方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

介紹

  • Jasypt是一個(gè)Java庫,可以使開發(fā)者不需太多操作來給Java項(xiàng)目添加基本加密功能,而且不需要知道加密原理。
  • Jasypt能夠以很簡(jiǎn)單的方式為Java項(xiàng)目提供加密功能。
  • Jasypt還符合RSA標(biāo)準(zhǔn)的基于密碼的加密,并提供了無配置加密工具以及新的、高可配置標(biāo)準(zhǔn)的加密工具。

作用

在配置文件中寫密文,程序啟動(dòng)后自動(dòng)解密,再使用這個(gè)解密后的信息對(duì)MySQL或Redis等進(jìn)行連接,可以隱藏一些配置文件中的敏感信息,如MySQL用戶名密碼、Redis密碼等。

快速開始

導(dǎo)入依賴

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

加密數(shù)據(jù)

寫一個(gè)main方法,加密數(shù)據(jù)庫的用戶名和密碼,得到加密后的用戶名和密碼。

public static void main(String[] args) {
    StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
    /*配置文件中配置如下的算法*/
    standardPBEStringEncryptor.setAlgorithm("PBEWithMD5AndDES");
    /*配置文件中配置的password*/
    standardPBEStringEncryptor.setPassword("EWRREWRERWECCCXC");
    /*要加密的文本*/
    String username = standardPBEStringEncryptor.encrypt("root");
    String password = standardPBEStringEncryptor.encrypt("password");
    /*將加密的文本寫到配置文件中*/
    System.out.println("username = " + username);
    System.out.println("password = " + password);
}

得到加密后的用戶名和密碼。

username = aL72g6IaZDwxZE63fhujOA==
password = V+sgI2xsjCIh2gHs15jN8CyAwGzpwr6k

配置文件

password是必須自己定義的,其他都可以不配置,有默認(rèn)的配置。

在敏感信息處使用對(duì)應(yīng)的ENC(密文)代替

# jasypt 配置加密
jasypt:
  encryptor:
    # 密碼鹽值(自定義)
    password: jasypt
    # 加密算法設(shè)置
    algorithm: PBEWithMD5AndDES
 
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/hm_project_v4?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: ENC(aL72g6IaZDwxZE63fhujOA==)
    password: ENC(V+sgI2xsjCIh2gHs15jN8CyAwGzpwr6k)

這樣就實(shí)現(xiàn)了對(duì)配置文件的數(shù)據(jù)進(jìn)行加密或者解密了。

注意:

main方法的algorithm和password 要與 配置文件的相同【重要】

獲取配置文件中的數(shù)據(jù)

在配置文件中寫密文,程序啟動(dòng)后自動(dòng)解密,我們使用正常的@Value方式獲取的數(shù)據(jù)即為解密后的數(shù)據(jù)。

@RestController
public class MUserController {
 
    @Value("${spring.datasource.password}")
    private String password;
 
    @GetMapping("/properties")
    public String getProperties() {
        return password;
    }
}

總結(jié)

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

相關(guān)文章

  • Spring將MultipartFile轉(zhuǎn)存到本地磁盤的三種方式

    Spring將MultipartFile轉(zhuǎn)存到本地磁盤的三種方式

    在Java中處理文件向來是一種不是很方便的操作,然后隨著Spring框架的崛起,使用Spring框架中的MultipartFile來處理文件也是件很方便的事了,今天就給大家介紹Spring將MultipartFile轉(zhuǎn)存到本地磁盤的方式,需要的朋友可以參考下
    2024-10-10
  • Maven 錯(cuò)誤找不到符號(hào)的解決方法

    Maven 錯(cuò)誤找不到符號(hào)的解決方法

    這篇文章主要介紹了Maven 錯(cuò)誤找不到符號(hào)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 基于NIO的Netty網(wǎng)絡(luò)框架(詳解)

    基于NIO的Netty網(wǎng)絡(luò)框架(詳解)

    下面小編就為大家?guī)硪黄贜IO的Netty網(wǎng)絡(luò)框架(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Java 實(shí)現(xiàn)微信和支付寶支付功能

    Java 實(shí)現(xiàn)微信和支付寶支付功能

    這篇文章主要介紹了Java 實(shí)現(xiàn)微信和支付寶支付功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • SpringBoot實(shí)現(xiàn)接口版本控制的示例代碼

    SpringBoot實(shí)現(xiàn)接口版本控制的示例代碼

    這篇文章主要介紹了springboot如何實(shí)現(xiàn)接口版本控制,接口版本控制,比如微服務(wù)請(qǐng)求中某個(gè)接口需要升級(jí),正常做法是升級(jí)我們的版本,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • springboot Actuator的指標(biāo)監(jiān)控可視化功能詳解

    springboot Actuator的指標(biāo)監(jiān)控可視化功能詳解

    SpringBoot Actuator是springboot為簡(jiǎn)化我們對(duì)微服務(wù)項(xiàng)目的監(jiān)控功能抽取出來的模塊,使得我們每個(gè)微服務(wù)快速引用即可獲得生產(chǎn)界別的應(yīng)用監(jiān)控、審計(jì)等功能。這篇文章主要介紹了springboot Actuator的指標(biāo)監(jiān)控可視化,需要的朋友可以參考下
    2021-08-08
  • 使用Java實(shí)現(xiàn)二維碼生成與掃碼驗(yàn)證功能

    使用Java實(shí)現(xiàn)二維碼生成與掃碼驗(yàn)證功能

    在現(xiàn)代軟件開發(fā)中,二維碼被廣泛應(yīng)用于各種場(chǎng)景,例如支付、預(yù)約、身份驗(yàn)證等,本篇文章將以 Java 為例,介紹如何實(shí)現(xiàn)二維碼的生成以及掃碼驗(yàn)證的功能,需要的朋友可以參考下
    2025-08-08
  • java使用FFmpeg提取音頻的實(shí)現(xiàn)示例

    java使用FFmpeg提取音頻的實(shí)現(xiàn)示例

    在Java開發(fā)中,我們經(jīng)常會(huì)遇到需要使用FFmpeg來處理音視頻文件的情況,本文主要介紹了java使用FFmpeg提取音頻的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Spring-Boot 訪問外部接口的方案總結(jié)

    Spring-Boot 訪問外部接口的方案總結(jié)

    在Spring-Boot項(xiàng)目開發(fā)中,存在著本模塊的代碼需要訪問外面模塊接口,或外部url鏈接的需求,針對(duì)這一需求目前存在著三種解決方案,下面將對(duì)這三種方案進(jìn)行整理和說明,對(duì)Spring-Boot 訪問外部接口方案感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • Spring Boot容器加載時(shí)執(zhí)行特定操作(推薦)

    Spring Boot容器加載時(shí)執(zhí)行特定操作(推薦)

    這篇文章主要介紹了Spring Boot容器加載時(shí)執(zhí)行特定操作及spring內(nèi)置的事件,需要的朋友可以參考下
    2018-01-01

最新評(píng)論

确山县| 日照市| 阜新| 武城县| 宝清县| 林西县| 右玉县| 祁阳县| 东乡族自治县| 泸水县| 呼玛县| 韶山市| 鸡西市| 平顶山市| 尼勒克县| 宁阳县| 澄迈县| 荥经县| 沁源县| 富锦市| 安阳市| 芜湖市| 嘉定区| 兴城市| 台中市| 麻阳| 于田县| 文昌市| 重庆市| 大英县| 靖边县| 新宁县| 东阳市| 读书| 绵竹市| 鸡东县| 安龙县| 东辽县| 宜兰市| 舒城县| 榆林市|