Я пишу приложение с файлом базы данных Dbase в Borland Delphi 7.Использование зашифрованного файла надежно
Примечание: Я думаю, что этот вопрос является файл-связанной с безопасностью, и вы можете забыть Dbase вещь (рассмотреть это как TXT-файл) в этом вопросе.
Доступ к базе данных должен осуществляться только приложением. Затем он должен быть зашифрован. К сожалению, dBASE не поддерживает какой-либо механизм паролей, и мне пришлось зашифровать файл самостоятельно (и я также должен использовать dBASE)
Какой подход вы предлагаете защитить файл базы данных?
Простой один:
- Шифрование файла базы данных и поместить его рядом рядом с файлом приложения EXE.
- Когда приложение запускается, оно должно дешифровать файл (с жестко запрограммированным паролем) и скопировать результат во временный файл с
DeleteOnClose
иNoSharingPermission
флагами. - При закрытии приложение должно зашифровать файл dBASE temp и заменить старый зашифрованный файл на новый.
Я думаю, что это справедливый безопасный подход. Но у него есть две большие проблемы:
- С помощью инструмента восстановления пользователь может восстановить и получить доступ к удаленному временному файлу.
- Хуже: когда приложение запущено, если система перезагрузилась внезапно, флаг
DeleteOnClose
не работает, и файл temp остается на жестком диске, и пользователь может получить к нему доступ.
Есть ли решение для, по крайней мере, второй части?
Есть ли другое решение?
Длинный снимок: можете ли вы создать RAM-диск и разместить там файл с расшифровкой данных? –
Пока вы жестко программируете пароль, не будет никакого безопасного решения. Вы должны были бы позволить своим пользователям выбирать пароль, тогда вам не нужно было бы его хранить в любом месте. – Leo
@Mef: Я не ищу очень сильного решения. пароль будет генерироваться динамически из жестко закодированной строки, на самом деле нелегко найти правильный пароль. – Isaac