Я получаю данные и использую aes или blowfish для шифрования их перед сохранением в базе данных, поэтому шифрование выполняется на уровне приложения.Если кто-то украдет базу данных, данные будут относительно безопасными, если только они не украли приложение (где ключ хранится / доступен).
Сейчас я изучаю шифрование базы данных с помощью таких библиотек, как ezNcrypt для MySQL , Encryption-GENERAL или SQLCipher .
Но я не совсем понимаю, как работает шифрование базы данных.Если приложение передает только необработанные неизмененные данные в базу данных, и база данных каким-то образом дешифрует сами данные, не сделает ли это шифрование на уровне базы данных менее безопасным, если база данных была украдена, поскольку украли 100% компонента шифрования?
В моей текущей ситуации, если база данных будет украдена, злоумышленнику придется набрать второй компонент (ключ, находящийся на уровне приложения), чтобы расшифровать базу данных.Но с шифрованием базы данных, сама база данных несет полную ответственность за шифрование, поэтому, украдя базу данных, разве злоумышленник не получит все необходимое для расшифровки базы данных?
Может быть, я не совсем понимаю, как база данных ...расшифровка уровня работает.