私はデータベース用のiOSプロジェクトでSqlite(sqlcipher)を使用しています。iOS 9では、すべてが完全に機能しています。今、私は新しいXcodeを更新しました。しかし、DB暗号化は現在機能していません。
sqlite3 *db1;
if (sqlite3_open([[self.databaseURL path] UTF8String], &db1) == SQLITE_OK) {
const char* key = [g_sqlite_key UTF8String];
AZLog(@"%s",key);
sqlite3_key(db1, key, (int)strlen(key));
if (sqlite3_exec(db1, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) {
AZLog(@"Password is correct, or a new database has been initialized");
} else {
AZLog(@"Incorrect password!");
}
sqlite3_close(db1);
}
誰かが私を助けることができますか?
前もって感謝します
sqlcipherを使用してデータベースを暗号化するときに、読み取り/書き込みおよびオープン作成のアクセス許可を提供する必要があります。
sqlite3 *db1;
if (sqlite3_open_v2([[self.databaseURL path] UTF8String], &db1, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) == SQLITE_OK) {
const char* key = [g_sqlite_key UTF8String];
AZLog(@"%s",key);
sqlite3_key(db1, key, (int)strlen(key));
if (sqlite3_exec(db1, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) {
AZLog(@"Password is correct, or a new database has been initialized");
} else {
AZLog(@"Incorrect password!");
}
sqlite3_close(db1);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加