Предотвратить многократное шифрование и дешифрование в MySQL - PullRequest
0 голосов
/ 04 мая 2020

Я шифрую столбцы базы данных MySQL и для этого использую AES_ENCRYPT().

Но я беспокоюсь о вызове функции шифрования или дешифрования несколько раз. Есть ли способ, которым я могу это предотвратить?

Я хочу использовать триггер, но что я должен добавить в оператор IF? Можно ли как-нибудь проверить, зашифрован столбец или нет?

Это код, который шифрует столбцы:

UPDATE `data1` SET `FirstName`=AES_ENCRYPT(FirstName,'passw')
,`LastName`=AES_ENCRYPT(LastName,'passw')
,`Address`=AES_ENCRYPT(Address,'passw') 
,`City`=AES_ENCRYPT(City,'passw')

, и этот код выполняет расшифровку:

UPDATE `data1` SET `FirstName`=AES_DECRYPT(FirstName,'passw')
,`LastName`=AES_DECRYPT(LastName,'passw')
,`Address`=AES_DECRYPT(Address,'passw')
,`City`=AES_DECRYPT(City,'passw')

Я думаю, что правильно делать это с помощью триггера:

    CREATE TRIGGER trigger_name
    {BEFORE} {UPDATE}
    ON table_name FOR EACH ROW
    If (check if it is encrypted)
      //dont encrypt
if(check if it is not encrypted)
      //dont decrypt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...