Этот вопрос появляется в списке рассылки пользователей SQLite примерно раз в месяц.
Независимо от того, сколько вы используете шифрования и т. Д., Если база данных находится на клиентском компьютере, то ключ для дешифрования также будет находиться на компьютере в некоторый момент. Злоумышленник сможет получить этот ключ, поскольку это его машина.
Лучший способ взглянуть на это с точки зрения денег - сколько нужно потратить плохому парню, чтобы получить данные. Обычно это будет максимум несколько сотен долларов. И все, что нужно, это получить ключ одному человеку, и он может опубликовать базу данных для всех.
Так что либо воспользуйтесь веб-службой, о которой говорил Донал, либо просто потратьте несколько минут, чтобы запутать базу данных. Например, если вы используете APSW, вы можете написать VFS в несколько строк, которые XOR для содержимого базы данных, чтобы обычный SQLite не открывал его, а средство просмотра файлов не отображало обычный заголовок SQLite. (В APSW есть пример кода, показывающий, как это сделать.)
Следовательно, любой, у кого есть содержимое базы данных, должен был сделать это сознательно.