我的列lib_question中的数据使用AES_ENCRYPT加密。现在我想从表中搜索记录,其中该列类似于用户键入的特定条目。我尝试了这个,但它不起作用:
select id_question
from question
where lib_question like CONCAT('%',AES_ENCRYPT('contribuer', HEX('AVtr34ENMG')),'%');
我记得通过应用程序在对应于lib_question列的字段中输入 contribuer 这个词。
那么如何制作LIKE语句?
答案 0 :(得分:3)
AES_ENCRYPT将在输入字符串(https://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_aes-encrypt)周围添加填充,这意味着您的比较将永远不会与加密字符串匹配。
您是否尝试过比较解密后的值?那应该更可靠。
select id_question
from question
where AES_DECRYPT(lib_question, HEX('AVtr34ENMG')) like '%contribuer%';