2017-02-18 5 views
0

私はいくつかのpdfsと画像をダウンロードしてDocumentsディレクトリに保存するアプリを持っています。これらのファイルは、iExplorerなどのツールを使用してアクセスしようとするすべての人が保護する必要があります。 iOSセキュリティガイドが見つかりました。Data Protection機能を有効にしました。私は、このようにtxtファイルを作成しようとしました:ドキュメントディレクトリ内のデータを暗号化する方法

let documentsPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first! 
let filePath = documentsPath + "/hello.txt" 

FileManager.default.createFile(atPath: filePath, contents: Data.init(base64Encoded: "HELLOOOOOOOO"), attributes: [kCFURLFileProtectionKey as String: FileProtectionType.complete]) 

その後、私はtxtファイルにアクセスするためにIEXPLORERを使用しようと、私は、他の非保護されたファイルのようにそれを行うことができました。私はiPhoneをロック解除してロックしてから5分待っていました。ファイルは問題なくアクセスできました。少なくともデバイスがロックされているときは、アクセス不可能にする方法があるかどうかを本当に知る必要があります。

私が考えていたもう一つの解決策は、カスタムアルゴリズムを使ってDocumentsフォルダ内のファイルを暗号化することですが、大きなファイルの場合は、ファイルを開く際にスピードを失います。ファイル自体のサイズに依存する時間が必要です。

提案?

答えて

0

あなたはロック解除は、あなたが次のことを書かなければならない時にアクセスできないファイル書き込みたい場合:

let filePath = "path/to/place" 
let bar = "HII" 
let fileAttr = [NSFileProtectionKey : NSFileProtectionComplete] 
fileManager.createFile(atPath: filePath, contents: bar, attributes: fileAttr) 

をそれはしかしまだアクセスロック解除されています。もし人々が本当にファイルを探したいならば、彼らはそれにアクセスする方法のトンを試してみます。

注:このコードは、あなたが完全な保護を持っているしたい場合は、AESで暗号化することができますし、それを読み取ることが必要な場合に復号化が、それは、パフォーマンスの低下につながる

をテストされていません

関連する問題