KEY参数使ATTACH DATABASE返回错误:文件已加密或不是数据库

时间:2015-10-14 03:01:55

标签: android sqlite sqlcipher

我有一个纯文本数据库我正在使用我的Android应用程序。这个数据库显然没有加密,它是功能性的(因为我经常使用我的Android应用程序,因为我能够用sqlite浏览器打开它)例如

但是,尝试使用sqlcipher打开它并不起作用。

我正在尝试此代码:

sqlite> ATTACH DATABASE 'encrypted.db' AS encrypted KEY 'testkey';
sqlite> SELECT sqlcipher_export('encrypted');
sqlite> DETACH DATABASE encrypted;

但是我自动收到Error: file is encrypted or is not a database错误消息......似乎KEY参数是有罪的,因为它没有。但我需要它来加密我的数据库。任何想法?

我正在使用sqlcipher 2.2.1-2ubuntu2。使用文本编辑器打开我的数据库是有效的,因为它以SQLite format 3开头并包含可见数据,我确定它尚未加密。感谢。

1 个答案:

答案 0 :(得分:0)

我的坏。错误来自于我在发布时将db作为参数的方式。

确保以这种方式启动sqlcipher MyAlreadyExistingDb.db

phpmyadmin

放在好文件夹上后。