Не могу расшифровать 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
Я думаю, что это было бы сказано "Ошибка: нет такой таблицы: таблицы", если бы это было так.