Poiché AES_ENCRYPT / DECRYPT sono solo funzioni che puoi applicare ai tuoi dati come parte della query, non vedo come ciò causerebbe il blocco. Se scrivi il tuo codice per usarlo, cambia idea e decidi è meglio averlo gestito dal tuo front-end, dovrai solo:
- Modifica le tue query / visualizzazione in modo che non utilizzino più tali funzioni;
- Cambia il codice chiamando quelle query e falle crittografare / decodificare i dati utilizzando lo stesso algoritmo.
(Queste due modifiche devono entrare in vigore simultaneamente, naturalmente, anche l'operazione inversa è possibile)
Il vantaggio principale che vedo nel farlo nel front-end è che puoi scegliere altri valori per la dimensione della chiave e il padding (MySQL usa rispettivamente 128 e 16), se necessario. Puoi anche modificare l'algoritmo più facilmente, se alla fine decidi che AES non è la scelta migliore.
Ho dimenticato le implicazioni sulla sicurezza del tuo setup, dal momento che è difficile capire da quali tipi di rischi stai cercando di proteggere i tuoi dati. Tuttavia, sono d'accordo con @Kevin sul fatto che ottieni un po 'più di sicurezza (per oscurità) se non mostri esplicitamente l'algoritmo nel database, assumendo che il tuo codice sia tenuto segreto.
Modifica: sembra aver frainteso l'argomento di Kevin; mentre sono d'accordo sul fatto che nascondere l'algoritmo è in gran parte inutile, l'hacking del tuo server non è l'unico modo per un hacker di accedere al tuo database - i processi che usi per effettuare backup regolari di esso, inclusi quelli offline, creano più opportunità per perdite di dati che non si applica necessariamente al codice (che potrebbe avere anche le proprie vulnerabilità di processo). Ma alla fine ciò che conta di più è quanto siano forti e ben protette le tue chiavi di crittografia.