简单使用jasypt加密配置文件

      参考资料: http://www.jasypt.org/

        从官网的开发介绍文档中, 可以看出它的功能很多很强大. 这里简单使用它来加密配置文件中的一些隐私内容.  比如数据库的账号密码, 第三方的ak信息等等, 防止外部人员看到配置文件明文密码信息泄露.

操作如下:

  1. 添加依赖

  2. 在配置文件设置加密方式

  3. 获取加密后的字符串

  4. 替换

1. 依赖

<!--配置文件加密-->
        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot-starter</artifactId>
            <version>1.18</version>
        </dependency>

2. springboot的yml文件中配置密钥

jasypt:                                        
  encryptor:                                   
    password: EbfYkitulv73I2p0mXI50JMXoaxZTKJ7 

3. 获取加密后字符串


@RunWith(SpringRunner.class)
@SpringBootTest
@WebAppConfiguration
public class ApplicationTests {

    @Autowired
    private StringEncryptor encryptor;

    @Test
    public void getPass() {
        
        String username = encryptor.encrypt("root");
        String password = encryptor.encrypt("123456");
        String akId = encryptor.encrypt("xxx");
        String akPwd = encryptor.encrypt("xxx");

        System.out.println("-------");
        System.out.println();

        System.out.println("数据库用户名:"+username);
        System.out.println("数据库密码:"+password);
        System.out.println("短信ak Id:"+akId);
        System.out.println("短信ak 密码:"+akPwd);


        System.out.println();

    }
}

输出得到加密后字符串:

数据库用户名:aoV7QvuF4WQAmJ3XAA==
数据库密码:NmRCf/V7o6H6SUbvopg==
短信ak Id:FEzYN6iSU2FSSU1d28=
短信ak 密码:2QUiD0KxC2XhUTFp==

4. 替换原字段信息

将yml配置文件中原信息修改为上面输出的部分. 但要注意, 要用ENC()将加密后的括起来.

spring:                                     
  datasource:                               
    driver-class-name: com.mysql.jdbc.Driver
    url: ENC(EaVkdnzUbWaE8E9oaUUFl1a6Z+PIsdF
    username: ENC(aoV7QvuF4WQAmJ3XAA==) 
    password: ENC(NmRCf/V7o6H6SUbvopg==) 

5. 启动项目

可以看到启动的日志中的加密信息

若正常启动, 说明加密成功.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值