Ответ 1
Попробуйте порт SQLCipher для Android вместо обычного SQLCipher.
Мне очень сложно зашифровать мою базу данных sqlite на устройствах Android, но я не смог найти удовлетворительное решение.
Мне нужно что-то вроде libary для ссылки, чтобы иметь "на ходу" шифрование/дешифрование моей базы данных при использовании обычных функций sqlite.
Я не хочу шифровать данные перед сохранением.
Я не хочу шифровать весь файл базы данных, чтобы расшифровать его перед использованием.
Я знаю о следующих проектах:
Но я не могу найти какой-либо рабочий пример для этого материала.
Кстати, я абсолютно согласен купить коммерческую сборку, но мне нужно проверить ist, прежде чем тратить несколько сотен долларов.
Кто-нибудь решил эту проблему для себя?
изменить:
вопрос решается commonsWare, если вы следуете его ссылке:
Порт SQLCypher для Android
Вы сможете загрузить необходимые файлы и добавить их в свой проект. Это может выглядеть так:
Попробуйте порт SQLCipher для Android вместо обычного SQLCipher.
litereplica поддерживает encryption используя шифр ChaCha, быстрее, чем AES на портативных устройствах.
привязки для Android.
Чтобы создать и открыть зашифрованную базу данных, мы используем URI следующим образом:
"file:/path/to/file.db?cipher=...&key=..."
Если кто-то еще смотрит:
Переопределите функцию SQLiteOpenHelper
, как показано ниже:
void onConfigure(SQLiteDatabase db){
db.execSQL("PRAGMA key = 'secretkey'");
}