LIKE запрос с AES_DECRYPT не работает - PullRequest
2 голосов
/ 25 февраля 2012

У меня есть таблица, содержащая несколько полей 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 Ответ

6 голосов
/ 12 мая 2012

Попробуйте использовать

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