Я пишу приложение с файлом базы данных dBASE в Borland Delphi 7.
Примечание: Я думаю, что этот вопрос связан с безопасностью файлов, и вы можете забыть о dBASE (рассматривайте его как файл TXT) в этом вопросе.
База данных должна быть доступна только приложению. Тогда это должно быть зашифровано. К сожалению, dBASE не поддерживает какой-либо механизм паролей, и мне пришлось самому шифровать файл (и я также ДОЛЖЕН использовать dBASE)
Какой подход вы предлагаете для защиты файла базы данных?
Самый простой:
- Шифрование файла базы данных и размещение его рядом с EXE-файлом приложения.
- Когда приложение запускается, оно должно расшифровать файл (с жестко заданным паролем) и скопировать результат во временный файл с флагами
DeleteOnClose
и NoSharingPermission
.
- При закрытии приложение должно зашифровать временный файл dBASE и заменить старый зашифрованный файл новым.
Я думаю, что это достаточно безопасный подход. Но у него есть две большие проблемы:
- С помощью инструмента восстановления можно восстановить и получить доступ к удаленному временному файлу.
- Хуже: при запуске приложения, если система неожиданно перезагружается, флаг
DeleteOnClose
не срабатывает, а временный файл остается на жестком диске, и пользователь может получить к нему доступ.
Есть ли решение хотя бы для второй части?
Есть ли другое решение?