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

时间:2012-02-25 15:30:04

标签: 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

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

    SELECT id
           , AES_DECRYPT(first_field,'secret_salt')
           , AES_DECRYPT(second_field,'secret_salt') 
    FROM   table
    WHERE  status = 1

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

    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')%"

1 个答案:

答案 0 :(得分:6)

尝试使用

WHERE CAST(AES_DECRYPT(first_field, 'secret_salt') AS CHAR) LIKE '%foo%'