MyBatis 一个简单配置解决数据加密解密

本文介绍了如何使用MyBatis的TypeHandler对数据库中的敏感信息如手机号进行加解密处理,以增强数据安全性。通过自定义TypeHandler,实现了在插入时自动加密,查询时自动解密的功能,确保数据在存储和读取过程中的安全性。
摘要由CSDN通过智能技术生成

前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文!

一、背景

在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:hk黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。

二、解决方案

由于我们系统中使用了Mybatis作为数据库持久层,因此决定使用Mybatis的TypeHandler或Plugin来解决。

TypeHandler ​   ​:  需要我们在某些列上手动指定 typeHandler 来选择使用那个typeHandler或者根据 ​ ​@MappedJdbcTypes​ ​   ​和   ​ ​@MappedTypes​ ​ 注解来自行推断。

<result column="phone" property="phone"
        typeHandler="com.huan.study.mybatis.typehandler.EncryptTypeHandler"/>

Plugin ​   ​: 可以拦截系统中的 select、insert、update、delete等语句,也能获取到sql执行前的参数和执行后的数据。

经过考虑,决定使用TypeHandler来加解密数据。

三、需求

我们有一张客户表customer,里面有客户手机号(phone)和客户地址(address)等字段,其中客户手机号(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值