MySQL encryption functions
I was looking that the hashing and encryption functions in MySQL recently and I came up with an odd question.
Is there any situation where encryption should be done in the database when it could be done at the client?
To expand on that a bit more. If the database is encrypted, and the client does the decrypting, then the key never needs to travel to the database, the data never passes over the network in the clear, and the processing load required to decrypt the data is moved from the server to the client allowing for (a bit) better scaling.
If the server handles the decryption then the exact opposite is true, and I can't think of any reason why you'd want to do that if you didn't have to.
I understand why the server-side hashing functions would be used, and I can see how the encryption functions could be handy if you didn't have a choice, but I'm looking for a scenario where you have the choice and server-side is better.