首页 > 数据库 >mysql 实现加密搜索

mysql 实现加密搜索

时间:2022-12-14 18:31:49浏览次数:35  
标签:AES 加密 函数 base64 解密 搜索 user mysql


前言:

我们经常遇到由于安全考虑,数据库中一些用户信息比如手机号、身份证号等信息加密保存,但又有一些需要查询匹配的操作,比如手机号模糊匹配的场景,此时就无法直接使用模糊查询了,就需要先进行解密后再执行模糊查询,本文提供了mysql常见的base64+AES加解密操作函数。

mysql加密函数操作如下:

  • Base 64
# base64加密操作函数
to_base64('要加密的字段或内容')
# base64解密操作函数
from_base64('需要解密的密文')
  • AES加解密
# AES加密操作函数
AES_ENCRYPT('要加密的字段或内容','秘钥')
# AES解密操作函数
AES_DECRYPT('需要解密的密文','秘钥')
  • base64+AES组合加解密
# base64+AES组合加密操作函数
AES_ENCRYPT(to_base64('要加密的字段或内容'),'秘钥')
# base64+AES组合解密操作函数
AES_DECRYPT(from_base64('需要解密的密文'),'秘钥')
  • 应用示例
-- 对数据库中加密保存的手机号进行模糊匹配
SELECT
AES_DECRYPT(from_base64(`user_mobile`), "ZPRSbC16SSNE535U") as user_mobile
FROM
user_send_record
WHERE
user_name = '18466666289'
AND
AES_DECRYPT(from_base64(`user_mobile`), "ZPRSbC16SSNE535U") like '%456%';


标签:AES,加密,函数,base64,解密,搜索,user,mysql
From: https://blog.51cto.com/u_15461374/5938178

相关文章

  • Azure 解决方案:如何为Azure VM配置加密策略
    51CTO博客地址:​​https://blog.51cto.com/14669127​​Azure培训视频地址:​​https://space.bilibili.com/2000820534​​为了避免我们使用云端资源数据泄露,我们也需要考......
  • MYSQL 3 DAY
    目录MySQLday031、约束1.1、唯一性约束(unique)1.2、主键约束1.3、外键约束2、存储引擎?(整个内容属于了解内容)2.1、完整的建表语句2.2、什么是存储引擎呢?2.3、查看当前mysql......
  • 从 MySQL 到 ClickHouse 实时复制与实现
    ClickHouse可以挂载为MySQL的一个从库,先全量再增量的实时同步MySQL数据,这个功能可以说是今年最亮眼、最刚需的功能,基于它我们可以轻松的打造一套企业级解决方案,让OLT......
  • 基于Springboot+Mybatis+mysql+vue宠物领养网站1
    @目录一、系统介绍二、功能展示1.主页(普通用户)2.登陆、注册(普通用户)3.宠物大全(普通用户)4.宠物详情(申请领养、点赞、评论)(普通用户)5.我的申请(普通用户)6.个人信息(普通用户......
  • 基于jsp+sevlet+spring+mysql实现校园疫情防控管理信息系统
    @目录一、系统介绍二、采用技术及开发环境1.开发技术2.开发环境二、功能展示1.学校疫情统计2.各情况统计3.各学院学生情况统计4.各学院教师统计5.最新时报6.后台管理四、代......
  • jsp+sevlet+mysql图书管理系统
    @目录一、系统介绍二、功能展示1.图书查询(学生)2.借阅信息(学生)3.借阅历史(学生)4.借阅历史(管理员)5.读者管理(管理员)6.图书分类(管理员)7.图书借阅信息(管理员)8.图书......
  • mysql8权限控制
    CREATEUSER'test'@'xxx.xx.xx.%'IDENTIFIEDBY'123';grantallprivilegeson*.*to'test'@'xxx.xx.xx.%'IDENTIFIEDBY'123'withgrantoption;flushprivileg......
  • SpringBoot入门系列: JPA mysql(五)
    一,准备工作,建立spring-boot-sample-mysql工程1、http://start.spring.io/    A、Artifact中输入spring-boot-sample-mysql    B、勾选Web下的web    C、勾选......
  • 项目迁移中 遇到的MySQL问题
    两个问题都是数据库迁移导致的  1.Expression#16ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn'sanghe.a.contract_no'whichisno......
  • docker-compose + mysql8.x 主从数据库配置
    0.准备(略过docker的安装与镜像拉取)docker/docker-compose安装拉取mysql8.x 1.master和slave的mysql配置master:[mysqld]server-id=11118log-bin=mysql-bi......