2015-08-19 4 views
1

Я сбросил базу данных sqlite3 в файл .sql. После этого у меня есть импортировать файлы, как это:sqlcipher как импортировать базу данных sqlite3

cat databasedump.sql | sqlcipher encrypted_database

Затем я открыл зашифрованную базу данных и установить ключ с:

pragma key="12345"

я закрыть базу данных и открыть его, он все еще не зашифрован.

Как я могу загрузить дамп в базу данных и зашифровать его?

ответ

1
$ sqlcipher plaintext.db 
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'my password'; 
sqlite> SELECT sqlcipher_export('encrypted'); 
sqlite> DETACH DATABASE encrypted; 
+0

Это работает, но как я могу расшифровать базу данных? Обычно его «прагма ключ =« мой пароль »;», но после этого он не расшифровывается, я просто получаю следующее сообщение: «Ошибка: файл зашифрован или не является базой данных». Я вижу только аналогичный путь назад .. так что присоединяем новые базы данных .. дешифрование .. выбор .. отсоединение и т. Д. Есть ли способ расшифровать его и загрузить его непосредственно в ram? – Shibumi

1
$ ./sqlcipher encrypted.db 
sqlite> PRAGMA key = 'my password'; 
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY ''; -- empty key will disable encryption` 
sqlite> SELECT sqlcipher_export('plaintext'); 
sqlite> DETACH DATABASE plaintext; 
Смежные вопросы