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

我正在尝试:

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


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

最佳答案

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

08-05 04:51