MySQL AES_ENCRYPT() 函数使用指南

MySQL AES_ENCRYPT() 函数使用 AES 加密算法加密一个字符串。

AES_ENCRYPT() 语法

这里是 MySQL AES_ENCRYPT() 函数的语法:

AES_ENCRYPT(str, key_str)

参数

str
必需的。一个要加密的字符串。
key_str
必需的。密钥。

返回值

MySQL AES_ENCRYPT() 函数对指定的字符串 str 使用指定的密钥 key_str 进行 AES 加密,并返回加密后的二进制字符串。

如果被加密的字符串中含有非法数据或者不正确的填充,MySQL AES_ENCRYPT() 函数返回 NULL

如果任意参数为 NULL,MySQL AES_ENCRYPT() 函数返回 NULL

AES_ENCRYPT() 示例

要对字符串 hello 使用密钥 123456 使用加密,请使用如下语句:

SELECT AES_ENCRYPT('hello', '123456');
+----------------------------------------------------------------+
| AES_ENCRYPT('hello', '123456')                                 |
+----------------------------------------------------------------+
| 0xC8F20B494C26570BC50BE634407306B4                             |
+----------------------------------------------------------------+

这里, mysql client 输出显示的是二进制字符串对应的十六进制的字符串。要禁用显示十六进制,请在登录时使用 --binary-as-hex=false 参数以禁用将二进制内容显示为十六进制。

如果想查看原字符串,请使用 AES_DECRYPT() 函数。