Не могу расшифровать sqlite после SQLCipher

Я привязываю к Зашифровать / Расшифровать файл с SQLCipher на Mac.

это то, что я делаю для шифрования БД:

sqlite> ./sqlcipher test.db
sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'Sef*DFyds98fhsh2';
sqlite> SELECT sqlcipher_export('encrypted');
sqlite> DETACH DATABASE encrypted;

и после этого я пытаюсь это открыть зашифрованную БД:

sqlite> ./sqlcipher encrypted.db
sqlite> PRAGMA key = 'Sef*DFyds98fhsh2';
sqlite> select * from tables;

и это дает мне эту ошибку:

Error: file is encrypted or is not a database

одна вещь - мой оригинальный файл базы данных - 1.6 Мегабайта, но после шифрования это превращается в 226 KlioByte.

1 ответ

Если вы печатаете

sqlcipher --version

что ты возвращаешь?

Если это что-то старое, как 2.x, это проблема. Сборка из источника решила эту проблему для меня. Должно быть около 3.8.xx сейчас.

также просто любопытно, у вас есть таблица под названием "таблицы"? sqlcipher имеет встроенный метод для выполнения этого

.tables

Я думаю, что это было бы сказано "Ошибка: нет такой таблицы: таблицы", если бы это было так.

Другие вопросы по тегам