UPPER(AES_DECRYPT(...)) bug?

[email protected] (Philip Thompson)
Newsgroups php.db
Message-ID <[email protected]>
Hi all.

Here's my disclaimer: this question is solely MySQL-related - I just  
happen to be programming in PHP.

I have found some functionality which *appears* to be a bug, but I  
didn't want to report it before asking some intelligent people. I have  
this simple query:

SELECT UPPER('just a lower case string') AS `UPPER_STRING`,  
UPPER(AES_DECRYPT(AES_ENCRYPT('Bob Frapples', '1234ABCD'),  
'1234ABCD')) AS `UPPER_NAME`;

Expected result:

UPPER_STRING              UPPER_NAME
------------------------  ------------
JUST A LOWER CASE STRING  BOB FRAPPLES

Real result:

UPPER_STRING              UPPER_NAME
------------------------  ------------
JUST A LOWER CASE STRING  Bob Frapples


There is a similar bug report <http://bugs.mysql.com/bug.php?id=28072>  
that uses LCASE instead of UPPER. But, they have the same *lack of  
desired functionality*. MySQL people say it's not a bug due to how  
binary blah blah blah. Whatever - I don't buy that. It's not working  
*as it should*. On top of that, the docs for this encrypt stuff is  
quite minimal.

My questions to you: do you think this is a bug? And... is there an  
alternative to searching on fields that are encrypted using the LIKE  
operator?

Thanks,
~Philip


"Personally, most of my web applications do not have to factor 13.7  
billion years of space drift in to the calculations, so PHP's rand  
function has been great for me..." ~S. Johnson
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.