Tag: sqlcipher

SQLCipher iOS OpenSSL生成错误:第66行:./config:没有这样的文件或目录

当我试图在我的机器上生成一个iOS项目生成失败,并出现以下错误消息:“行66:./config:没有这样的文件或目录” 在其他机器上构build运行没有任何问题。 我正在使用XCode 4.6.3,并在configuration中设置了我的OpenSSLpath。 XCode命令行工具也被安装。

读取encryption的数据库不适用于iOS 10

我正在开发iOS应用程序。 Encryption和Decryption读取和写入工作,直到iOS 9 。 但升级到iOS 10它开始给以下消息“文件被encryption或不是数据库”的问题。 对于DB encryption我使用以下代码: sqlite3 *db1; if (sqlite3_open([[self.databaseURL path] UTF8String], &db1) == SQLITE_OK) { const char* key = [@"strong" UTF8String]; sqlite3_key(db1, key, (int)strlen(key)); if (sqlite3_exec(db1, (const char*) "SELECT count(*) FROM sqlite_master;", NULL, NULL, NULL) == SQLITE_OK) { NSLog(@"Password is correct, or a new database has been initialized"); } else { NSLog(@"Incorrect […]

sqlcipher – sqlcipher有多安全? 它被黑了吗?

它在页面级别encryptionSQLLite数据库,好吧,没有问题! 但是你的源代码呢? 它的编译,但即使编译的人可以反编译它,检索你的密码和解密数据库?

SQLite表花费时间在LIKE查询中获取logging

场景 :数据库是sqlite(需要encryption数据库中的logging,因此使用iOS的SQL密码API) 数据库中有一个名为partnumber的表,其中包含模式,如下所示: CREATE TABLE partnumber ( objid varchar PRIMARY KEY, description varchar, make varchar, model varcha, partnumber varchar, SSOKey varchar, PMOKey varchar ) 该表包含大约80K条logging。 用户界面视图中有3个文本字段,用户可以在其中inputsearch条件,并在用户input字母后立即进行search。 3个文本字段是:txtFieldDescription,txtFieldMake和txtFieldModel。 假设第一个用户在txtFieldDescription中inputsearch词作为“monitor”。 所以,每个字母将执行的查询是: 1。 SELECT DISTINCT description COLLATE NOCASE FROM partnumber where description like '%m%' 2。 SELECT DISTINCT description COLLATE NOCASE FROM partnumber where description like '%mo%' 3。 SELECT […]

“_sqlite3_key”符号(s)找不到架构i386

您好我用这个SQLCipher( http://sqlcipher.net/ios-tutorial/ )来encryption我的sqlite,但是当我编译我遇到这个错误 "_sqlite3_key", referenced from: -[LCAppDelegate application:didFinishLaunchingWithOptions:] in LCAppDelegate.o Symbol(s) not found for architecture i386 当我在AppDelegate中使用这段代码时,就发生了这种情况 #import <sqlite3.h> … NSString *databasePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent: @"sqlcipher.db"]; sqlite3 *db; if (sqlite3_open([databasePath UTF8String], &db) == SQLITE_OK) { const char* key = [@"BIGSecret" UTF8String]; sqlite3_key(db, key, strlen(key)); if (sqlite3_exec(db, (const char*) "SELECT count(*) FROM sqlite_master;", […]