Я прошел несколько SO вопросов по этому поводу, и мой подход немного отличается с точки зрения желания зашифровать данные.Вот что я хочу сделать ..
В основном все данные моих клиентов хранятся в базе данных, и через 3 или 4 недели мне больше не нужны их данные, такие как адрес, город, штат,почтовый индекс, телефон, адрес электронной почты, товары, которые они заказали и т. д.
Теперь эти данные хранятся в необработанном формате в базе данных (mysql).
Я думаю, что после определенных дней ябудет зашифровывать все данные, которые находятся в базе данных mysql, и вместо того, чтобы хранить ключ, я просто буду вводить его вручную через поле ввода каждый раз (при желании зашифровать его или если по какой-то причине расшифровать его просто для отображения на экране).
Таким образом, в принципе, вот как это будет работать.
1) Выберите запись клиента в mysql
2) Получите ключ шифрования через поле ввода
3) Обновите запись mysql, зашифровав данные
Итак, вот мои 2 вопроса ...
1) Является ли вышеупомянутое хорошей стратегией в том смысле, что если база данных была скомпрометирована, данные будут защищены.Кроме того, если злоумышленник получит доступ к коду, у него не будет доступа к ключу, поскольку он не будет храниться где-либо в файлах php.
2) Как настроить систему шифрования?Если бы я использовал функцию mysql AES_ENCRYPT
(учтите, что длина данных может варьироваться, например, адрес, адрес электронной почты или другая информация о клиенте)