敏感数据统一国标(SM4)加解密Mybatis-Plus/Mybatis实现方案

该博客介绍了如何利用Hutool库的SM4分组密码算法与Mybatis-Plus结合,实现数据库中敏感数据的加密和解密。通过创建一个自定义的`TestDataTypeHandler`类型处理器,实现了在入库时自动加密和出库时自动解密。同时提供了针对Mybatis-Plus和Mybatis的配置示例,确保数据的安全性。需要注意的是,自定义入参需要手动加密,且加密字段不支持模糊查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法背景

SM4分组密码算法是2012年就推出实施的,是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。SM4算法与AES算法具有相同的密钥长度分组长度为128比特,因此在安全性上是高于3DES算法。

具体方案

前提:国标加密工具类尽量不要去重复造轮子,hutool有现成的工具类(当然自己实现也是可以)

<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-crypto</artifactId>
  <version>5.7.8</version>
 </dependency>
 <dependency>
   <groupId>org.bouncycastle</groupId>
   <artifactId>bcprov-jdk15to18</artifactId>
   <version>1.69</version>
</dependency>

1创建基于Mybatis的BaseTypeHandler通用处理类

import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.symmetric.SM4;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.BaseTypeHandler;
import org
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值