使用AES_DECRYPT的LIKE查询无法正常工作

use*_*703 2 mysql sql aes

我有一个包含几个ENCRYPTED blob字段的表.数据已加密AES_ENCRYPT.我现在正试图从这些字段生成ajax建议.

以下查询不起作用

    SELECT id
           , AES_DECRYPT(first_field,'secret_salt')
           , AES_DECRYPT(second_field,'secret_salt')
    FROM   table
    WHERE  ( AES_DECRYPT(first_field,'secret_salt')  "%user search value%" 
       OR    AES_DECRYPT(second_field,'secret_salt') LIKE "%user search value%"
           ) 
      AND  status = 1
Run Code Online (Sandbox Code Playgroud)

我一直在寻找和尝试过去3天.以下查询确实有效,但不符合我的需要

    SELECT id
           , AES_DECRYPT(first_field,'secret_salt')
           , AES_DECRYPT(second_field,'secret_salt') 
    FROM   table
    WHERE  status = 1
Run Code Online (Sandbox Code Playgroud)

我发现了这个查询,但它也不起作用.

    SELECT  id, AES_DECRYPT(first_field,'secret_salt'), AES_DECRYPT(second_field,'secret_salt')
    FROM    table
    WHERE   first_field LIKE "%AES_ENCRYPT('user search value','secret_salt')%"
Run Code Online (Sandbox Code Playgroud)

小智 6

尝试使用

WHERE CAST(AES_DECRYPT(first_field, 'secret_salt') AS CHAR) LIKE '%foo%'
Run Code Online (Sandbox Code Playgroud)