Я работаю над одним MFC
Приложение, где я должен использовать sqlite
база данных iOS
приложение.
iOS
База данных зашифрована с помощью SQLite
API называется sqlite3_key()
,
Но когда я пытаюсь открыть ту же базу данных iOS
в моем MFC
Приложение выдает исключение поговорки Файл зашифрован или нет базы данных и не может прочитать данные из базы данных.
iOS
база данных будет загружена с Dropbox
от MFC
приложение и заменит текущую базу данных и использовать ее вместо предыдущей
Я использую следующий код для открытия базы данных с помощью CppSqlite3
обертка за Sqlite
:
CppSQLite3DB db;
try{
db.open("mydb.db");
TRACE(_T("database opened"));
db.key("1234", strlen("1234"));
}catch(CppSQLite3Exception e){
return NULL;
}
Как CppSQLite3DB
класс не имеет функции с именем key()
, Я добавил эту функцию в классе
void CppSQLite3DB::key(const char* szKey, int nKey)
{
if (mpDB)
{
sqlite3_key(mpDB, szKey, nKey);
}
}
и обновить мою библиотеку до SQLiteEncrypt.
Принимая во внимание, что iOS
приложение использует SQLCipher
за Database
,
Но результат тот же. Так,
Может кто-нибудь сказать мне, как я могу этого достичь?
Заранее спасибо.
SQLCipher имеет широкую поддержку платформ для [..] C / C ++ [..] iPhone / IOS [..]
Возможно, использование SQLCipher в вашем приложении Windows решит проблемы несовместимости.
Других решений пока нет …