【Jasypt】Java 轻量级加密工具实现代码数据库账号密码加密

前言

对很多人来说,项目中习惯会把数据库的账号密码直接用明文写在配置文件中,其实这样并不是特别好,虽然是方便查看,但是也不太安全。所以这篇文章主要是一款轻量级加密工具的使用介绍。

参考资料

  • Jasypt 官方文档

使用方式

Maven

		<dependency>
            <groupId>com.github.ulisesbocchiogroupId>
            <artifactId>jasypt-spring-boot-starterartifactId>
            <version>2.1.0version>
        dependency>

加密工具类 JasyptUtil

public class JasyptUtil {

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

}

运行结果如下:
在这里插入图片描述

配置文件修改

DataSource 配置

spring:
  datasource:
    name: druid
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      
      # 填写自己的url
      url: 
      # JasyptUtil 生成的用户名,用 ENC() 括起来
      username: ENC(iiD/LUL6LZJ8Iz/B4sgM5zRppqQdP+SR)
      # JasyptUtil 生成的密码,用 ENC() 括起来
      password: ENC(t6F14gkW7IGE4PysJvbCNLLtPXstsA+t)

盐配置

注:这里需要配置好启动才能正确识别,否则会报错。

# 配置 JasyptUtil 使用的盐
jasypt:
  encryptor:
    password: salt

启动测试

运行项目,如果可以正常启动则说明配置通过。

你可能感兴趣的:(java-框架使用笔记,java)