美文网首页
Jasypt 对 SpringBoot 配置文件加密

Jasypt 对 SpringBoot 配置文件加密

作者: PC_Repair | 来源:发表于2020-12-31 16:50 被阅读0次

    使用过 SpringBoot 配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些。打开 application.properties 或 application.yml,比如 mysql 登陆密码,redis 登陆密码以及第三方的密钥等等一览无余,这里介绍一个加解密组件,提高一些属性配置的安全性。

    jasypt 由一个国外大神写的一个 springboot 下的工具包。Git地址:https://github.com/ulisesbocchio/jasypt-spring-boot

    pom文件中增加依赖:

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

    application.yml文件中增加jasypt的秘钥(该秘钥自定义的):

    # 加密所需的salt(盐)
    jasypt.encryptor.password=G0CvDz7oJn6
    # 默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES
    # jasypt.encryptor.algorithm=PBEWithMD5AndDES
    

    生成要加密的字符串:

    • 将数据库的用户名和密码进行加密
        public static void main(String[] args) {
            BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
            //加密所需的salt(盐)
            textEncryptor.setPassword("G0CvDz7oJn6");
            //要加密的数据(数据库的用户名或密码)
            String username = textEncryptor.encrypt("root");
            String password = textEncryptor.encrypt("root123");
            System.out.println("username:" + username);
            System.out.println("password:" + password);
        }
    
    • 输出信息为:
    username:i8QgEN4uOy2E1rHzrpSTYA==
    password:6eaMh/RX5oXUVca9ignvtg==
    

    配置 properties 文件

    • 将生成的加密串配置ENC(加密串)到application.properties中
    # 加密所需的salt(盐)
    jasypt.encryptor.password=G0CvDz7oJn6
    # 默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES
    # jasypt.encryptor.algorithm=PBEWithMD5AndDES
    spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==)
    spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)
    

    参考:

    相关文章

      网友评论

          本文标题:Jasypt 对 SpringBoot 配置文件加密

          本文链接:https://www.haomeiwen.com/subject/bkkroktx.html