私はこのチュートリアルに従おうとしています: http://sqlcipher.net/ios-tutorial/
「sqlcipher.db」というデータベースを作成し、これを再作成します
このコードを実行すると:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *databasePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
stringByAppendingPathComponent: @"encrypted.db"];
sqlite3 *db;
if (sqlite3_open([databasePath UTF8String], &db) == SQLITE_OK) {
const char* key = [@"secret" UTF8String];
int sqlite3_key(sqlite3 *db, const void *pKey, int nKey);
sqlite3_key(db, key, strlen(key));
if (sqlite3_exec(db, (const char*) "SELECT count(*) FROM t1;", NULL, NULL, NULL) == SQLITE_OK) {
// password is correct, or, database has been initialized
NSLog(@"Hello 1");
} else {
// incorrect password!
NSLog(@"Hello 2");
}
sqlite3_close(db);
} else {
NSLog(@"Hello 3");
}
}
それは常に「Hello 2」を出します。
ここで説明されている暗号化されたデータベースを作成する手順を再現しようとすると、http://zetetic.net/blog/2009/12/29/how-to-encrypt-a-plaintext-sqlite-database-to-use-sqlcipher. html#disqus_thread暗号化できません。sqlite3 mac コマンドを使用しているためだと思います。
そのため、S Lombardo がコマンド ライン sqlcipher 実行可能ファイルをコンパイルする必要があると言っているが、リンクが機能しないというコメントを見ました。
データベースを暗号化して SQLcipher で使用するにはどうすればよいですか?
iOS で sqlicipher を使用して成功した人はいますか?