From bfab7cf0f24daf25dc7c101e13cf3ddb4d8e2d96 Mon Sep 17 00:00:00 2001 From: wanglei <921888199@qq.com> Date: Fri, 30 Sep 2022 18:03:34 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0easy=20trans=E4=BE=9D=E8=B5=96=EF=BC=8CMp=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E5=88=B03.5.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-common/pom.xml | 40 ++++++++++++++++- .../common/handler/Sm4CbcTypeHandler.java | 44 +++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java diff --git a/snowy-common/pom.xml b/snowy-common/pom.xml index 0b580dc1..acb6be67 100644 --- a/snowy-common/pom.xml +++ b/snowy-common/pom.xml @@ -17,7 +17,8 @@ 1.18.22 1.2.8 - 3.5.1 + 3.5.2 + 2.0.3 2.11.1 5.7.22 2.5.1 @@ -79,6 +80,43 @@ ${mybatis.plus.version} + + + com.fhs-opensource + easy-trans-spring-boot-starter + ${easy.trans.version} + + + mybatis-plus-annotation + com.baomidou + + + io.springfox + springfox-schema + + + + + + com.fhs-opensource + easy-trans-mybatis-plus-extend + ${easy.trans.version} + + + mybatis-plus-core + com.baomidou + + + mybatis-plus-extension + com.baomidou + + + io.springfox + springfox-schema + + + + org.apache.commons diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java b/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java new file mode 100644 index 00000000..8e73c9e1 --- /dev/null +++ b/snowy-common/src/main/java/vip/xiaonuo/common/handler/Sm4CbcTypeHandler.java @@ -0,0 +1,44 @@ +package vip.xiaonuo.common.handler; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import vip.xiaonuo.common.util.CommonCryptogramUtil; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * Sm4Cbc加解密 + * @author wanglei + * @date 2022/9/30 15:24 + **/ +@MappedJdbcTypes(JdbcType.VARCHAR) +public class Sm4CbcTypeHandler extends BaseTypeHandler { + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType) throws SQLException { + ps.setString(i, CommonCryptogramUtil.doSm4CbcEncrypt((String)parameter)); + } + @Override + public T getNullableResult(ResultSet rs, String columnName) throws SQLException { + String columnValue = rs.getString(columnName); + //有一些可能是空字符 + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } + + @Override + public T getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + String columnValue = rs.getString(columnIndex); + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } + + @Override + public T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + String columnValue = cs.getString(columnIndex); + return StringUtils.isBlank(columnValue) ? (T)columnValue : (T)CommonCryptogramUtil.doSm4CbcDecrypt(columnValue); + } +}