MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理
       AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理


例,表结构:

wKioL1YY1LvAA0sHAAEWJZP20qc946.jpg


现在插入一条数据,对passwd密码字段加密。

1
2
INSERT INTO credit_card(cid,NAME,email, passwd
VALUES(101, 'hechunyang' , 'hechunyang@163.com' ,AES_ENCRYPT( '123456' , 'hechunyang' ));

wKiom1YY1OLQaojCAAIHRLUEpNE953.jpg


如图所示,插入成功。下面看看数据库加密的效果:


wKioL1YY1RjQEnfCAAFuCivWWfo024.jpg

可以看到,已经加密,看见的是乱码。

用户登录的时候要进行验证,程序需要解密,通过函数AES_DECRYPT(表的字段名字,'钥匙')

1
2
SELECT cid,NAME,email,AES_DECRYPT( passwd , 'hechunyang' ) as  passwd  FROM credit_card 
WHERE NAME= 'hechunyang' ;

wKioL1YY1VLB16baAAGoicSsUtw518.jpg


可以看到,已经解密。

















本文转自hcymysql51CTO博客,原文链接: http://blog.51cto.com/hcymysql/1701614,如需转载请自行联系原作者


相关文章
|
8月前
|
存储 JSON 安全
加密和解密函数的具体实现代码
加密和解密函数的具体实现代码
1183 136
|
存储 网络协议 关系型数据库
MySQL8.4创建keyring给InnoDB表进行静态数据加密
MySQL8.4创建keyring给InnoDB表进行静态数据加密
518 1
|
10月前
|
存储 关系型数据库 MySQL
MYSQL数据加密压缩函数应用实战指南。
总的来说,加密和压缩是维护MySQL数据库中数据安全性和效率的有效手段。使用时需权衡性能与安全,合理应用加密和压缩函数。在设计数据库架构时要考虑到加密字段的查询性能,因为加密可能使得一些索引失效。压缩数据能有效减少存储空间的占用,但在服务器负载较高时应避免实时压缩和解压,以免影响总体性能。
306 10
|
SQL 关系型数据库 MySQL
MySQL 常用函数
我们这次全面梳理 MySQL 中的常用函数,涵盖 聚合函数、字符串函数、日期时间函数、数学函数 和 控制流函数 等五大类。每类函数均配有语法说明与实用示例,帮助读者提升数据处理能力,如统计分析、文本处理、日期计算、条件判断等。文章结尾提供了丰富的实战练习,帮助读者巩固和应用函数技巧,是进阶 SQL 编程与数据分析的实用工具手册。
929 2
|
关系型数据库 MySQL
MySQL数据表添加字段(三种方式)
本文解析了数据表的基本概念及字段添加方法。在数据表中,字段是纵向列结构,记录为横向行数据。MySQL通过`ALTER TABLE`指令支持三种字段添加方式:1) 末尾追加字段,直接使用`ADD`语句;2) 首列插入字段,通过`FIRST`关键字实现;3) 指定位置插入字段,利用`AFTER`指定目标字段。文内结合`student`表实例详细演示了每种方法的操作步骤与结构验证,便于理解与实践。
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
【YashanDB知识库】MySQL field 函数的改写方法
|
SQL 关系型数据库 MySQL
【YashanDB知识库】MySQL field 函数的改写方法
本文来自YashanDB官网,介绍将MySQL的FIELD函数改写到YashanDB的方法。MySQL中,FIELD函数用于自定义排序;而在YashanDB中,可使用DECODE或CASE语句实现类似功能。示例展示对表`t1`按指定顺序排序的过程,提供两种改写方式,结果均符合预期。

推荐镜像

更多