Я использую шифрование на уровне приложений для защиты конфиденциальных данных. Мне нужно зашифровать поле, прежде чем я сохраню его в физической базе данных, и мне нужно расшифровать его, прежде чем я покажу его в пользовательском интерфейсе.
Я применяю шаблон Repository в приложении.
Является ли код шифрования / дешифрования данных внутри или вне класса Repository?
В настоящее время я думаю, что когда данные находятся в состоянии покоя, шифрование является аспектом хранилища, и класс обслуживания, использующий хранилище, не должен загромождаться этим кодом шифрования.
Класс обслуживания отвечает за проверку и бизнес-логику, но алгоритм шифрования и способ хранения данных в состоянии покоя зависит от реализации репозитория.
Это разумная практика или я что-то упускаю?