首页 > 作文

如何通过一个注解实现MyBatis字段加解密

更新时间:2023-04-05 00:35:41 阅读: 评论:0

目录
简介模块使用方法配置项说明开源链接总结

简介

mybatis-crypto 是一个基于 mybatis 插件机制实现的字段加解密组件,通过一个注解即可对敏感数据进行加解密处理。 支持自定义 encryptor、特殊字段单独指定 encryptor 和 key ,满足大部分使用场景。

四季划分时间月份模块

mybatis-crypto 包括三个模块:

mybatis-crypto-core 插件的核心功能模块mybatis-crypto-spring-boot-starter 提供了 spring boot 快速整合功能mybatis-crypto-encryptors 提供了一些 iencryptor 实现

使用方法

引入依赖

<dependency>    <groupid>io.github.whitedg</groupid>    <artifactid>mybatis-crypto-spring-boot-starter</artifactid>    <version>${latest.version}</version></dependency>

实现 iencryptor

import io.github.whitedg.mybatis.crypto.iencryptor;public class myencryptor implements iencryptor {    @override    public string encrypt(object val2bencrypted, string key) throws exception {        // 实现这个方法返回加密后的数据        return "encrypted string";    }    @override    public string decrypt(object val2bdecrypted, string key) throws exception {        // 实现这个方法返回解密后的数据        return "decrypted string";    }}

或者引入 mybatis-crypto-encryptors

<dependency>    <groupid>io.github.whitedg</groupid>    <artifactid>mybatis-crypto-encryptors</artifactid>    <version>${latest.version}</version></dependency>

使用其提供的 encryptor:

io.github.whitedg.mybatis.crypto.ba64encryptorio.github.whitedg.mybatis.crypto.basictextencryptorio.github.whitedg.mybatis.crypto.aes256encryptorio.github.whitedg.mybatis.crypto.strongtextencryptor

添加配置

mybatis-crypto:  # 是否启用插件,默认 true  enabled: true  # 快速失败,默认 true  fail-fast: fal  # 全局默认 encryptor  default-encryptor: io.github.whitedg.mybatis.crypto.basictextencryptor  # encryptor 默认密钥  default-key: global-key  # mybatis @param 注解下需要加解密的参数 key 前缀  mapped-key-prefixes: et,encrypted

指定加密字段

在需要加解密的字段上添加注解 @encryp太阳号tedfield
public class ur {    @encryptedfiel铅笔素描画d    private string encryptedstr;    @encryptedfield(encryptor = yourencryptor.class, key = "your key")    private string customizedstr;}
使用配置的 @param 参数 key 前缀
import org.apache.ibatis.annotations.param;interface yourent产品经理总结itymapper {    int inrt(@param("et") yourentity entity);    // 支持数组    int batchinrt(@param("encrypted-entities") list<yourentity> entity);    // 返回值也支持单个对象或数组    yourentity lectone();    list<yourentity> lectlist();}

demo

配置项说明

配置项说明默认值mybatis-crypto.ena溶液的依数性bled是否启用 mybatis-cryptotruemybatis-crypto.fail-fast快速失败,加解密过程中发生异常是否中断。true:抛出异常,fal:使用原始值,打印 warn 级别日志truemybatis-crypto.mapped-key-prefixes@param 参数名的前缀,前缀匹配则会进行加密处理空mybatis-crypto.default-encryptor全局默认 encryptor空mybatis-crypto.default-key全局默认 encryptor 的密钥空

开源链接

github.com/whitedg/myb…

总结

到此这篇关于如何通过一个注解实现mybatis字段加解密的文章就介绍到这了,更多相关注解实现mybatis字段加解密内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-05 00:35:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/717a996c33c3104a997dfe57cda17189.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:如何通过一个注解实现MyBatis字段加解密.doc

本文 PDF 下载地址:如何通过一个注解实现MyBatis字段加解密.pdf

标签:字段   注解   加解密   前缀
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图