-1
当我运行这样的查询:MySQL的匹配加密值
SELECT * FROM table WHERE columnName = AES_ENCRYPT('value','SecretKey')
我返回一个空集,即使有在匹配搜索查询的数据库行。
这样的东西的正确语法是什么样的?
当我运行这样的查询:MySQL的匹配加密值
SELECT * FROM table WHERE columnName = AES_ENCRYPT('value','SecretKey')
我返回一个空集,即使有在匹配搜索查询的数据库行。
这样的东西的正确语法是什么样的?
SELECT * FROM table WHERE columnName = AES_ENCRYPT(columnName,'SecretKey')='value'
设置它是如何到达那里的样本。应该需要约5分钟。 – Drew
对不起?不明白你的意思。 – tdrsam
使用http://sqlfiddle.com创建一个MCVE,@tdrsam,并共享链接。如果您将加密值存储在“VARCHAR”而不是“VARBINARY”中,这是一个相当常见的错误,这也可以解释问题 - 您无法这样做。 'AES_ENCRYPT()'返回二进制数据,而不是字符数据。并非所有可能的字节模式都是有效字符。 –