📜  MySQL | AES_DECRYPT ( )函数(1)

📅  最后修改于: 2023-12-03 15:33:02.222000             🧑  作者: Mango

MySQL | AES_DECRYPT ( )函数

在 MySQL 中,AES_DECRYPT() 函数用于解密使用 AES 加密算法加密的字符串。该函数接受两个参数,第一个是要解密的字符串,第二个是密钥。密钥必须与加密时使用的密钥相同,否则解密失败。

语法
AES_DECRYPT(crypt_str, key_str)
参数说明
  • crypt_str:要解密的字符串。
  • key_str:密钥。
返回值

解密成功返回解密后的明文字符串,否则返回 NULL。

示例
SELECT AES_DECRYPT(AES_ENCRYPT('hello world', 'mykey'), 'mykey')

执行该语句会输出 hello world,因为在该语句中,AES_ENCRYPT() 函数对字符串 'hello world' 进行 AES 加密,密钥为 'mykey',然后将加密后的字符串传递给 AES_DECRYPT() 函数进行解密,解密使用的密钥也是 'mykey'

注意事项

在使用 AES_DECRYPT() 函数进行解密时,必须使用正确的密钥,否则解密会失败。为了保证密钥的安全性,可以将密钥保存在环境变量中或者在代码中加密存储。此外,由于加密算法对明文进行了保护,在解密失败时,该函数不会报错,而是返回 NULL,因此需要注意判断解密结果是否为 NULL。