mybatis-cipher
Java
Java
共29个文件
java: 17
xml: 4
gitignore: 3
md: 2
LICENSE: 1
yml: 1
sql_bak: 1
基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理, 让各位码友们无需自己各种手动实现
mybatis-cipher
项目介绍
基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理,
让各位码友们无需自己各种手动实现
安装教程
下载最新的jar包 mybatis-cipher-plus
使用说明
配置初始化
spring boot 模式 零配置模式
配置加解密拦截器
/**
* MybatisPlusConfig
* @author Jerry.hu
* @summary MybatisPlusConfig
* @Copyright (c) 2018, xiaoweige Group All Rights Reserved.
* @Description MybatisPlusConfig
* @since 2018-09-29 16:46
*/
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
@Bean
public FieldEncryptInterceptor paginationInterceptor() {
return new FieldEncryptInterceptor();
}
}
yml配置
mybatis:
type-aliases-package: org.xiaoweige.mybatis.cipher.example.model.po
mapper-locations:
- classpath:mybatis/mappers/*.xml
- classpath:mybatis/mappers/*/*.xml
configuration-properties:
cacheEnabled : false
####<!-- 查询时,关闭关联对象即时加载以提高性能 -->
lazyLoadingEnabled : true
####<!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 -->
aggressiveLazyLoading : false
####<!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->
multipleResultSetsEnabled : true
####<!-- 允许使用列标签代替列名 -->
useColumnLabel : true
####<!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 -->
useGeneratedKeys : true
####<!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
autoMappingBehavior : FULL
####<!-- 对于批量更新操作缓存SQL以提高性能 -->
defaultExecutorType : SIMPLE
####<!-- 数据库超过15秒仍未响应则超时,部分语句可单独指定超时时间 -->
defaultStatementTimeout : 15
jdbcTypeForNull : NULL
####<!-- 当参数为NULL且字段列可为空的Double等类型时可直接当NULL插入 -->
callSettersOnNulls : true
####打印sql语句###
logPrefix : "dao."
xml 配置方式
<settings>
<!-- 全局映射器启用缓存 -->
<setting name="cacheEnabled" value="false" />
<!-- 查询时,关闭关联对象即时加载以提高性能 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 设置关联对象加载的形态,此处为按需加载字段(加载字段由SQL指定),不会加载关联表的所有字段,以提高性能 -->
<setting name="aggressiveLazyLoading" value="false" />
<!-- 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果 -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 允许使用列标签代替列名 -->
<setting name="useColumnLabel" value="true" />
<!-- 允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值),数据表的PK生成策略将被覆盖 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 给予被嵌套的resultMap以字段-属性的映射支持 -->
<setting name="autoMappingBehavior" value="FULL" />
<!-- 对于批量更新操作缓存SQL以提高性能 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 数据库超过15秒仍未响应则超时,部分语句可单独指定超时时间 -->
<setting name="defaultStatementTimeout" value="15" />
<setting name="jdbcTypeForNull" value="NULL" />
<!-- 当参数为NULL且字段列可为空的Double等类型时可直接当NULL插入 -->
<setting name="callSettersOnNulls" value="true" />
<!--<!– 打印sql语句 –>-->
<setting name="logPrefix" value="dao." />
</settings>
<plugins>
<plugin interceptor="org.xiaoweige.mybatis.interceptor.FieldEncryptInterceptor">
</plugin>
</plugins>
实现加解密接口 CryptService
/**
* 加解密服务接口
* @author Jerry.hu
* @summary 加解密服务接口
* @Copyright (c) 2018, xiaoweige Group All Rights Reserved.
* @Description 加解密服务接口
* @since 2018-09-29 10:58:18
*/
public interface CryptService {
/**
* 单条加密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param value 待加密字段
* @return 加密后的字符串
*/
String encrypt(String value);
/**
* 单条解密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param value 待解密字段
* @return 解密后的字符串
*/
String decrypt(String value);
/**
* 批量解密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:58:18
* @param ori 待解密密文集合
* @return map key 密文 value 明文
*/
Map<String,String> batchDecrypt(List<String> ori);
/**
* 批量加密
* @author Jerry.hu
* @modifier Jerry.hu
* @since 2018-09-29 10:59:36
* @param ori 待解密密文集合
* @return map key 明文 value 原密
*/
Map<String,String> batchEncrypt(List<String> ori);
}
建议将接口中的四个接口全部实现
https://gitee.com/Jerry.hu/mybatis-cipher
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目名称:MyBatis-Cipher - 高效数据脱敏工具 项目简介: MyBatis-Cipher 是一款基于 Java 语言开发的数据库敏感信息加密解密方案,专为 MyBatis 设计。它能够在数据进出数据库(DB)的过程中自动对敏感信息进行脱敏处理,极大提高了数据安全性,同时避免了开发者手动实现脱敏逻辑的复杂性。 技术构成: - 主要编程语言:Java - 文件组成:共29个文件,包括 - Java 源文件:17个 - XML 配置文件:4个 - Git 忽略配置:3个 - Markdown 文档:2个 - 许可证文件:1个 - YML 配置文件:1个 - SQL 备份文件:1个 项目亮点: - 基于 MyBatis,无缝集成现有项目 - 简化数据脱敏流程,提高开发效率 - 加强数据安全,保护敏感信息 总结: MyBatis-Cipher 旨在为广大的开发者提供一种简便、高效的数据安全解决方案,让数据脱敏变得轻松而可靠。
资源推荐
资源详情
资源评论
收起资源包目录
upload.zip (29个子文件)
mybatis-cipher-plus
pom.xml 2KB
src
main
java
org
xiaoweige
mybatis
annotation
EnableEncrypt.java 827B
Encrypted.java 497B
EnableCipher.java 933B
CryptService.java 1KB
config
BeanConfig.java 472B
BeanFactoryHolder.java 2KB
interceptor
FieldEncryptInterceptor.java 17KB
.gitignore 268B
LICENSE 10KB
mybatis-cipher-example
pom.xml 3KB
src
test
java
org
xiaoweige
mybatis
cipher
example
service
user
UserServiceTest.java 3KB
typeexample
BaseTest.java 725B
main
resources
mybatis
mappers
UserMapper.xml 1KB
init.sql_bak 1KB
application.yml 2KB
logback-spring.xml 2KB
java
org
xiaoweige
mybatis
cipher
example
ExampleApplication.java 412B
service
user
UserService.java 1007B
UserMapper.java 1KB
model
po
User2.java 872B
User.java 2KB
config
CryptServiceImpl.java 1KB
TestEncryptCoderDemoUtil.java 7KB
MybatisPlusConfig.java 717B
.gitignore 268B
.gitee
ISSUE_TEMPLATE.zh-CN.md 79B
.gitignore 154B
readme.txt 6KB
共 29 条
- 1
资源评论
沐知全栈开发
- 粉丝: 4739
- 资源: 3374
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- alu.v
- H21-282学习参考.pdf
- QuestionTwo.java
- QuestionOne.java
- AWS Certified Solutions Architect Study Guide -SAA-C03 .docx
- 校园小情书微信小程序源码 社区小程序前后端开源 校园表白墙交友小程序.rar
- OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- 南京邮电大学数学实验:熟练掌握 Matlab 软件的基本命令和操作
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功