MySQL加密解密函数AES_ENCRYPT AES_DECRYPT
官方文档:
https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html#function_aes-encrypt
加密函数
AES_ENCRYPT(str,key)
例:select AES_ENCRYPT('字符串','mima');
mysql> select AES_ENCRYPT('字符串','mima'); +---------------------------------+ | AES_ENCRYPT('字符串','mima') | +---------------------------------+ | 6 | +---------------------------------+ 1 row in set (0.00 sec)
在存入数据库的时候,转成十六进制
create table t2(c1 varchar(64); insert into t2 select hex(aes_encrypt(('字符串'),'mima'));
mysql> select * from t2;
+----------------------------------+
| c1 |
+----------------------------------+
| 36CD256BB4BD99CB184D089408954681 |
+----------------------------------+
1 row in set (0.00 sec)
解密函数 AES_DECRYPT(str,key)
解密之前先用huhex函数转一次
mysql> select aes_decrypt(unhex(c1),'mima') from t2; +-------------------------------+ | aes_decrypt(unhex(c1),'mima') | +-------------------------------+ | 字符串 | +-------------------------------+ 1 row in set (0.00 sec)
加密后字符有多长,和加密内容有关
示例1、
加密内容长度是15个字符, 16 * (trunc(15 / 16) + 1) = 16*(0+1) = 16 个字节,一个字符是8位,所以需要32个字符显示。
mysql> select AES_ENCRYPT('123456789012345','mima');
+------------------------------------------------------------------------------+
| AES_ENCRYPT('123456789012345','mima') |
+------------------------------------------------------------------------------+
| 0xAC94004F5D2ABA62C7EB8C3F46C18DFA |
+------------------------------------------------------------------------------+
1 row in set (0.00 sec)
示例2、
加密内容长度是16个字符, 16 * (trunc(16 / 16) + 1) = 16*(1+1) = 32 个字节,一个字符是8位,所以需要64个字符显示。
mysql> select AES_ENCRYPT('1234567890123456','mima');
+--------------------------------------------------------------------------------+
| AES_ENCRYPT('1234567890123456','mima') |
+--------------------------------------------------------------------------------+
| 0x363BBB99593EDC9B7E73CC61ED7CD6320632E308519E8A239BA4885CF11BFD2B |
+--------------------------------------------------------------------------------+
1 row in set (0.00 sec)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)