Здравый смысл говорит, что если злоумышленник получает доступ к вашей базе данных, они, скорее всего, также будут иметь доступ к вашей файловой системе. Это действительно сводится к вам. Например, вы можете скрыть это. В файлах конфигурации, в простых файлах где-то в файловой системе, зашифруйте его другим ключом, находящимся внутри приложения ... и т. Д. И т. Д.
Конфигурационные файлы являются логическим ответом, но зачем рисковать - смешайте его. Не стесняйтесь смешивать ключи с многоуровневыми шифрованиями - нужно что-то требовать от самой записи и быть уникальным для каждой записи, другая требует значения конфигурации, третья - для конкретного приложения и, возможно, четвертая из скрытой библиотеки хорошо в ссылках вашего приложения? Таким образом, даже если один слой каким-то образом скомпрометирован, у вас будет несколько других, защищающих его.
Да, это добавляет сверху. Да, это относительно дорого. Но стоит ли вам иметь конфиденциальные данные, такие как данные кредитной карты пользователя? Вы держите пари.
Я использую аналогичные методы шифрования и хэширования в одном из моих личных проектов домашних животных, которые сосредоточены на высокой безопасности и тщательно контролируются. Это зависит от того, сколько данных вам нужно отображать в любой момент времени - например, моя всегда будет извлекать только 10 записей за раз, скорее всего, даже меньше.
... Чтобы указать, что я имею в виду, смешивая: зашифруйте один раз. Затем снова зашифруйте эти данные с помощью разного ключа и, предположительно, другого алгоритма.
>> «Во-первых, вы можете скрыть это»: безопасность от неизвестности - это не гонка ... извините – ChiYoung