【springboot】application.yml配置文件中数据库密码password加密后显示

转载自:https://blog.csdn.net/linjingke32/article/details/81329614

 如果使用@SpringBootApplication注解启动的项目,只需增加maven依赖,其他方式请参考如下GitHub地址的README信息:https://github.com/ulisesbocchio/jasypt-spring-boot

        <!-- 数据库加密配置-->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>2.1.0</version>
        </dependency>

我们对信息加解密是使用这个jar包的

    编写加解密测试类:

package cn.linjk.ehome;
 
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;
import org.junit.Test;
 
public class JasyptTest {
    @Test
    public void testEncrypt() throws Exception {
        StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
        EnvironmentPBEConfig config = new EnvironmentPBEConfig();
 
        config.setAlgorithm("PBEWithMD5AndDES");          // 加密的算法,这个算法是默认的
        config.setPassword("ljk");                        // 加密的密钥
        standardPBEStringEncryptor.setConfig(config);
        String plainText = "linjingke";
        String encryptedText = standardPBEStringEncryptor.encrypt(plainText);
        System.out.println(encryptedText);
    }
 
    @Test
    public void testDe() throws Exception {
        StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
        EnvironmentPBEConfig config = new EnvironmentPBEConfig();
 
        config.setAlgorithm("PBEWithMD5AndDES");
        config.setPassword("ljk");
        standardPBEStringEncryptor.setConfig(config);
        String encryptedText = "aHsFtlQjatrOP2s8bfLGkUG55z53KLNi";
        String plainText = standardPBEStringEncryptor.decrypt(encryptedText);
        System.out.println(plainText);
    }
}

    首先运行testEncrypt(),明文是‘linjingke’,加密密钥是"ljk",密钥可以自己定,运行输出如下为:

     aHsFtlQjatrOP2s8bfLGkUG55z53KLNi
   

    然后运行testDe(),加密后的串为aHsFtlQjatrOP2s8bfLGkUG55z53KLNi,输出的明文为linjingke。加解密可以。

    可以发现,同样的明文和加密密钥,加密后的串却不一样。

    加密串拿到了,现在来修改application.yml的配置:

我们把加密串放在ENC({加密串})即可。

  还要加这个密钥的配置(application.yml文件中):

————————————————
版权声明:本文为CSDN博主「LinJingke」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linjingke32/article/details/81329614

配置文件数据库信息如何加密? 回答: 在Spring Boot项目,可以使用jasypt来加密配置文件数据库信息。首先,需要在pom.xml文件导入相关依赖,如下所示: ``` <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.2</version> </dependency> ``` 接下来,在application.yml文件配置数据库信息时,可以使用jasypt进行加密。例如,如果要加密数据库密码,可以在配置文件使用加密后的密码,如下所示: ``` spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: myusername password: ENC(加密后的密码) ``` 这样,配置文件数据库密码就会被加密保护起来,提高了安全性。同时,可以在代码使用jasypt提供的解密方法来获取真实的密码进行数据库连接操作。 #### 引用[.reference_title] - *1* *3* [SpringBoot配置文件application.yml数据库信息加密](https://blog.csdn.net/qq_45370028/article/details/123115895)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SpringBoot 配置 application.yml连接MySQL数据库](https://blog.csdn.net/qq_45830969/article/details/122697715)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值