Mysql AES_Decrypt从多列

时间:2018-11-28 15:18:38

标签: mysql sql aes

我正在尝试使用AES_DECRYPT从一个表中解密多个列,我该怎么做?

我正在尝试:

SELECT column_a, column_b, column_c AES_DECRYPT(column_a, column_b, column_c 'p4ss0wrd1') 
FROM dates_table1;

有人可以通过正确的语法指导我吗?或者,如果有可能直接从表中解密所有内容。

1 个答案:

答案 0 :(得分:0)

AES_DECRYPT函数一次仅接受一个值(我的意思是一个加密的字符串,加上密码)。另外,如果这些值是分别加密的,那么尝试将它们全部解密是没有意义的。

只需为每列分别调用该函数:

SELECT 
  column_a, 
  column_b, 
  column_c, 
  AES_DECRYPT(column_a, 'p4ss0wrd1'),
  AES_DECRYPT(column_b, 'p4ss0wrd1'),
  AES_DECRYPT(column_c, 'p4ss0wrd1')
FROM 
  dates_table1;

文档:https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_aes-decrypt