Каков наилучший подход к шифрованию файла базы данных SQLite в .Net/С#? Я использую sqlite-dotnet2 wrapper.
Существуют такие инструменты, как Расширение шифрования SQLite и SQLite Crypt, но оба являются несвободными, а мой проект под GPL.
Наивный подход, который я думал использовать, заключался в том, чтобы позволить SQLite обрабатывать временный файл, затем зашифровывать его при выходе из программы и перезаписывать (обнулять) оригинал. Очевидным недостатком является то, что если программа сработает (и пока она запущена), доступна простая текстовая БД.
Есть ли лучший способ приблизиться к этому? Могу ли я передать зашифрованный поток в оболочку (вместо использования SQLiteConnection.CreateFile)?
[прав.] Этимология Это болванка статьи. Достаточно ли использовать параметр "Пароль" в строке подключения? Правильно ли будет зашифрован файл в этом случае (или это более слабая защита)?