admin管理员组

文章数量:1589660

配置文件中存放着许多重要的东西,比如数据库账号密码什么的,需要对这些内容进行加密储存。
使用到的是jasypt

1.添加Maven依赖

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

2.生成明文对应的密文:

public static void main(String[] args) {
        BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
        //加密所需的salt()
        textEncryptor.setPassword("G0CvDz7oJn6");
        //要加密的数据(数据库的用户名或密码)
        String username = textEncryptor.encrypt("are-test.yaml");
        String password = textEncryptor.encrypt("${spring.server.ip}:18001");
        System.out.println("username:"+username);
        System.out.println("password:"+password);
    }

3.将密文复制到配置文件当中,用ENC()包裹起来,注意添加

jasypt:
  encryptor:
    password: G0CvDz7oJn6
server:
  port: 8888
jasypt:
  encryptor:
    password: G0CvDz7oJn6
spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: TIS
  server:
    ip: 192.168.70.107
  cloud:
    nacos:
      config:
        server-addr: ENC(0KiWhp165uV8brYmrI6bqrEg5kbiBbihty3CcY5WlpWWb2/fxOzQOQ==)
        extension-configs:
          - data-id: ENC(vEMdP9lo5lkYNv0QCyl73uxhkuec5yVl)
            group: test
            refresh: true
      discovery:
        server-addr: ENC(0KiWhp165uV8brYmrI6bqrEg5kbiBbihty3CcY5WlpWWb2/fxOzQOQ==)
  profiles:
    include: common
    active: local

本次用到的是手动jasypt配置文件加密解密,有待优化为自动加密解密的形式

本文标签: 配置文件加密解密