2012-12-07 88 views
4

我想加密我的核心數據。加密核心數據

正如另一個問題所建議的,我已經通過Nick Harris https://nickharris.wordpress.com/2010/07/14/core-data-and-enterprise-iphone-applications-protecting-your-data/的以下帖子。

首先在我的設備上,我在設置中打開了密碼。

然後在我的appDelegate,當我創建我的persistentStoreCoordinator時,我將以下屬性NSFileProtectionComplete添加到我的核心數據存儲文件,據我的理解,這意味着當設備被密碼鎖定時,我的核心數據應該被加密無障礙。

NSDictionary *fileAttributes = [NSDictionary dictionaryWithObject:NSFileProtectionComplete forKey:NSFileProtectionKey]; 
if (![[NSFileManager defaultManager] setAttributes:fileAttributes ofItemAtPath:[storeURL path] error:&error]) { 
     NSLog(@"Cant encrypt"); 
    } 

然而,在做這一切,即使鎖定裝置的密碼,我仍然可以訪問應用程序沙箱和含有使用IEXPLORER和我的.sqllite文件可以把整個文件到我的桌面上的文件和文件夾查看它完全未加密。

我錯過了什麼?

+0

有人對此有任何想法嗎? – josully

回答

3

爲了萬一任何人有興趣,我想出了爲什麼我愚蠢地認爲我的問題提到的蘋果提供的加密沒有工作.... 我打開我的CoreData文件的加密,並測試我只是試圖從我的設備使用iExplorer獲取.sqlLite文件。它似乎在訪問該文件,因爲使用我的sqlLite瀏覽器打開了.sqlLite文件。然而,它實際上並沒有打開設備上的最新文件,而是打開了該文件的緩存版本...

+0

現貨。有同樣的問題。 – Dan