MySQL 字段加密 MySQL 字段加密是将数据库字段类型设置为 varbinary 类型,并将加密盐设置为全局变量,以实现对敏感数据的保护。本文将详细介绍 MySQL 字段加密的实现步骤和相关知识点。 数据库字段类型 在 MySQL 中,将要加密的字段设置为 varbinary 类型。这是因为 varbinary 类型可以存储二进制数据,对加密后的数据进行存储。 设置加密盐为全局变量 在 MyBatis 配置文件中设置加密盐为全局变量。例如:<properties> <property name="key" value="123456"/> </properties>这个全局变量将在加密时使用。 加密函数 MySQL 提供了两对可逆加密函数:AES_ENCRYPT 和 AES_DECRYPT,ENCODE 和 DECODE。其中,AES_ENCRYPT 和 AES_DECRYPT 的加密强度更高,因此我们选择使用 AES_ENCRYPT 和 AES_DECRYPT 实现加密。 插入数据 在插入数据时,使用 AES_ENCRYPT 函数对密码进行加密。例如:<insert id="add" parameterType="com.jiurong.encode.User"> insert into <include refid="dbname" />(id, password) values(#{id}, AES_ENCRYPT(#{password},${key}) )</insert> 更新数据 在更新数据时,使用 AES_ENCRYPT 函数对密码进行加密。例如:<update id="update" parameterType="com.jiurong.encode.User"> update <include refid="dbname" /> set password = AES_ENCRYPT(#{password},${key}) where id = #{id} </update> 查询数据 在查询数据时,使用 AES_DECRYPT 函数对密码进行解密。例如:<select id="select" resultType="String"> select CONVERT(AES_DECRYPT(password,${key}) USING utf8 ) from <include refid="dbname" /> </select> 建表语句 以下是建表语句的示例:<changeSet id="1" author="mqq"> <createTable tableName="mmseg_keyword"> <column name="id" type="int"> <constraints primaryKey="true" /> </column> <column name="password" type="varbinary(100)" /> </createTable> </changeSet> MySQL 字段加密是通过设置 varbinary 类型的字段、设置加密盐为全局变量和使用 AES_ENCRYPT 和 AES_DECRYPT 函数来实现的。这种方法可以对敏感数据进行保护,提高数据库的安全性。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
- (源码)基于Java的DVD管理系统.zip
- (源码)基于Java RMI的共享白板系统.zip
- (源码)基于Spring Boot和WebSocket的毕业设计选题系统.zip
- (源码)基于C++的机器人与船舶管理系统.zip
- (源码)基于WPF和Entity Framework Core的智能货架管理系统.zip
- SAP Note 532932 FAQ Valuation logic with active material ledger
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C#的计算器系统.zip
- (源码)基于ESP32和ThingSpeak的牛舍环境监测系统.zip