MFC
응용 프로그램 중 하나에서 작업하고 있습니다. iOS
응용 프로그램 데이터베이스를 사용해야합니다.다른 플랫폼에서 SQLite 데이터베이스를 열고 읽는 방법 (iOS에서 Windows로)
iOS
데이터베이스는 API 인 sqlite3_key()
을 사용하여 암호화됩니다.
하지만 내 MFC
응용 프로그램에 iOS
동일한 데이터베이스를 열하려고 할 때 예외가 파일은 데이터베이스를 암호화되지 않거나 말을 데이터베이스에서 데이터를 읽을 수 없습니다 던졌습니다.
iOS
데이터베이스는 MFC
응용 프로그램 Dropbox
에서 다운로드 할 것이며, 현재 데이터베이스를 교체하고 내가 Sqlite
에 대한 CppSqlite3
Wrapper을 사용하여 데이터베이스를 여는 다음 코드를 사용하고 이전
대신 사용됩니다
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
응용 프로그램은 Database
에 SQLCipher
을 사용합니다.
그러나 결과는 같습니다. 그래서, 아무도 내가 그것을 얻을 수있는 방법을 말해 줄 수 있습니까?
미리 감사드립니다. http://sqlcipher.net/에서
키를 누른 다음 올바르게 설정 했습니까? – PlasmaHH
예, 'iOS' 데이터베이스가 키로 암호화되어 있기 때문에 키를 데이터베이스에 설정해야합니다. –
[CppSQLite3DB] (http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=6343) 클래스는'sqlite3_key()'에 해당하는 메소드가없는 것 같습니다 (이것은 부분이 아닙니다). [표준 SQLite API] (http://www.sqlite.org/c3ref/funclist.html)). 암호화를 지원하는 확장 된 버전의'sqlite3.lib'이 필요하다고 생각합니다. – nodakai