jasypt整合springboot给数据库加密

  1. 导入包
<dependency>
     <groupId>com.github.ulisesbocchio</groupId>
     <artifactId>jasypt-spring-boot-starter</artifactId>
     <version>1.14</version>
 </dependency>

2.配置加密秘钥(application.properties)和开启数据库加密(@EnableEncryptableProperties

#jasypt加密的密匙(正式环境中为确保安全把秘钥写在代码中,和要加密的密码分开)
#jasypt.encryptor.password=pcitc
@EnableAutoConfiguration
@SpringBootApplication
@EnableSwagger2//swagger api
@EnableEncryptableProperties//启动数据库加密
public class Application {
    public static void main(String[] args) {
        try {
        	//代码中配置秘钥
            System.setProperty("jasypt.encryptor.password", "pcitc");
            SpringApplication.run(Application.class);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }
}
  1. 编写密码加密工具类
package util;

import org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI;

public class EncryptorTest {
    public static void main(String[] args) {
        String[] s = new String[2];
        s[0] = "input=ythx";//要加密的字符串,写在=后面
        s[1] = "password=pcitc";//秘钥,和项目中的jasypt.encryptor.password保持一致,不然密码解析会报错org.jasypt.exceptions.EncryptionOperationNotPossibleException
        //s[2] = "algorithm=PBEWithMD5AndDES";//加密算法
        JasyptPBEStringEncryptionCLI.main(s);
    }
}
  1. 其他注意事项
  1. 高版本(2.1.0)的Jasypt启动时会报错,找不到org.springframework.boot.context.propertie.PlaceholdersResolver
  2. 加密解密的秘钥要确保一样
  3. 确保电脑中有 jce(密码扩展无限制权限策略文件)
    如果没有去这里下载:
    https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
    解压后将两个jar文件放到JDK的\jre\lib\security文件夹内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值