• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

mybatis-cipher: 基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理, 让各位码 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

mybatis-cipher

开源软件地址:

https://gitee.com/Jerry.hu/mybatis-cipher

开源软件介绍:

mybatis-cipher

项目介绍

基于mybatis 来实现对敏感数据在进出DB时候进行脱敏处理,让各位码友们无需自己各种手动实现

安装教程

  1. 下载最新的jar包 mybatis-cipher-plus

使用说明

配置初始化
  1. 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@Configurationpublic 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."
  1. 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" />		<!--&lt;!&ndash; 打印sql语句 &ndash;&gt;-->		<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);}

建议将接口中的四个接口全部实现


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap