前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mysql加密解密

Mysql加密解密

作者头像
mingjie
发布于 2022-05-12 01:36:47
发布于 2022-05-12 01:36:47
5.2K00
代码可运行
举报
运行总次数:0
代码可运行

Mysql加密解密

https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_aes-encrypt

函数定义

AES_ENCRYPT(str,key)

返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用AES_ENCRYPT的结果是一个二进制字符串,使用 VARBINARY or BLOB 存储

AES_DECRYPT(str,key)

返回用密钥key对字符串str利用高级加密标准算法解密后的结果

常用法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> SELECT HEX(AES_ENCRYPT('test','key')) ;
+----------------------------------+
| HEX(AES_ENCRYPT('test','key'))   |
+----------------------------------+
| 9E9CE44CD9DF2B201F51947E03BCCBE2 |
+----------------------------------+

mysql> SELECT AES_DECRYPT(UNHEX('9E9CE44CD9DF2B201F51947E03BCCBE2'),'key');
+--------------------------------------------------------------+
| AES_DECRYPT(UNHEX('9E9CE44CD9DF2B201F51947E03BCCBE2'),'key') |
+--------------------------------------------------------------+
| test                                                         |
+--------------------------------------------------------------+

mysql> SELECT to_base64(AES_ENCRYPT('test','key')) ;
+--------------------------------------+
| to_base64(AES_ENCRYPT('test','key')) |
+--------------------------------------+
| npzkTNnfKyAfUZR+A7zL4g==             |
+--------------------------------------+

mysql> SELECT AES_DECRYPT(from_base64('npzkTNnfKyAfUZR+A7zL4g=='),'key');
+------------------------------------------------------------+
| AES_DECRYPT(from_base64('npzkTNnfKyAfUZR+A7zL4g=='),'key') |
+------------------------------------------------------------+
| test                                                       |
+------------------------------------------------------------+

使用案例

注意字段宽度

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
create table aes_info(id int primary key, no varchar(8), pw varchar(255));

insert into aes_info values (1,'00050001',HEX(AES_ENCRYPT('test','key')));

select * from aes_info;
+----+----------+----------------------------------+
| id | no       | pw                               |
+----+----------+----------------------------------+
|  1 | 00050001 | 9E9CE44CD9DF2B201F51947E03BCCBE2 |
+----+----------+----------------------------------+

select id,no,AES_DECRYPT(UNHEX(pw),'key') from aes_info;
+----+----------+------------------------------+
| id | no       | AES_DECRYPT(UNHEX(pw),'key') |
+----+----------+------------------------------+
|  1 | 00050001 | test                         |
+----+----------+------------------------------+
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验