Показать сообщение отдельно
  #1  
Старый 07.03.2011, 11:55
ururu ururu вне форума
Прохожий
 
Регистрация: 07.03.2011
Сообщения: 5
Репутация: 10
По умолчанию Запихнуть файл БД Sqlite в оперативку

Доброго времени суток.
Нужно написать БД, причём необходимо использовать шифрование. В качестве СУБД был выбран SQLite. Все расширения, поддерживающие шифрование, либо платные либо геморройные в установке. Так что я решил шифровать алгоритмом RC5 прямо поверх файла БД.

То есть, в начале работы у пользователя спрашивается пароль, файл БД расшифровывается, с ним производится работа, а по окончании работы он снова шифруется.

Если хранить расшифрованную БД просто во временном файле, то всё просто. Но это небезопасно, так как если аварийно вырубят электричество, расшифрованный файл останется на диске. Поэтому хочу, чтобы расшифрованная БД хранилась в оперативке, а на диск скидывался только зашифрованный файл по окончании работы.

Как это реализовать? Допустим, к зашифрованному файлу я привяжу TFileStream, расшифрованный запихаю в просто Stream (он, по идее, как раз в оперативке будет находиться), но как потом подсунуть SQLite-у этот Stream, чтобы он мог с ним работать?

Заранее спасибо.
Ответить с цитированием