Как зашифровать базу данных с использованием SQL-шифра - PullRequest
2 голосов
/ 13 апреля 2011

Я хочу зашифровать базу данных с помощью sqlcipher.

Я сделал интеграцию с os openssl и sqlcipher, и сборка работает отлично.

Но моя проблема в том, что я не могузашифровать мою базу данных.Я не знаю, как выполнить это действие или метод для шифрования базы данных с использованием SQL-шифра.

Я читаю на Шифре SQL , но не могу понять тот же процесс.Я попробовал код, предоставленный ими, но не работающий.

РЕДАКТИРОВАТЬ: Может кто-нибудь сказать мне, как установить ключ PRAGMA для того же, а затем, как начать с шифрования?Поскольку только эта часть остается для моего шифрования, чтобы завершиться.

Пожалуйста, помогите мне выйти из этой ситуации.

Заранее спасибо

1 Ответ

3 голосов
/ 13 апреля 2011

С SQLCipher убедитесь, что у вас есть совершенно новая база данных SQLite. Попытка прагмы базы данных с ключом, в то время как у него уже есть данные, по какой-то причине просто пытается расшифровать ее.

Вот дополнительная информация о работе с существующей базой данных SQLite . В этом примере encrypted.db - это совершенно новая база данных, которую вы создаете, и прагма.

ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'secret'; -- create a new encrypted database
CREATE TABLE encrypted.t1(a,b); -- recreate the schema in the new database (you can inspect all objects using SELECT * FROM sqlite_master)
INSERT INTO encrypted.t1 SELECT * FROM t1; -- copy data from the existing tables to the new tables in the encrypted database
DETACH DATABASE encrypted;
...