Ric*_*mma 6 security iphone xcode ios
EDITED
好吧,抛开投票否定并不能真正帮助解决问题.如果您没有任何有用的说法,并且您对此问题不感兴趣,只需更改页面即可.如果你不是有想法,或者你是知道不同的做法只是有兴趣,那么你的评论是值得欢迎的,即使它是不完美的,或者它仅仅是一个想法实验
问题:
我需要将应用程序数据存储在iPhone应用程序中.
采用经典的NSDocumentDirectory路径我们最初存储数据......但如何"安全"是这种方法吗?
在不考虑越狱的设备(我不感兴趣,在目前战斗这一点),似乎任何用户(任何真正的设备上)可以使用一个简单的iPhone浏览软件,浏览到该文件夹,并陷入困境的内容,有效地破解它.
如果是这样的话,什么是最好的"去处"或"方法",以存储安全通用数据(即不一定是在这种情况下,密码)来使用.
即使在这些情况下,KeyChain是否也是正确的方式,还是有更好的/替代方式?
注意和核心问题:
我知道有钥匙等.我不是在谈论"混淆或保护他们的内容"进行加密和保护数据
这里的问题是不同的.所以让我们这样说吧:
"你怎么避免用户可以访问存储文件(数据,加密,sql文件,你喜欢的任何东西)的文件夹,并以任何方式搞砸它们(这可能是删除它们,复制它们,访问它们使用十六进制编辑器和修改值,无论如何).
这不是他们用它做的事情,而是一个更严格的限制,以确保用户根本无法达到它们 "
谢谢
您可以使用加密算法来保护数据并保存在 sqlite 数据库或文档字典中的文件中。
请查看此应用程序,此应用程序解释了 AES 算法使用安全密钥加密或解密数据。
在应用程序的
所需文件中使用存储库AES256AndBase64#import "NSString+AESCrypt.h"中的帮助程序类。
加密/解密数据的用途AES256EcryptWithKey:和方法:AES256DecryptWithKey:
NSString* dummyString=@"Steve Job";
NSLog(@"Normal String- %@",dummyString);
NSString* encrypt_decrypt_Key=@"apple";
NSString *encryptString = [dummyString
AES256EncryptWithKey:encrypt_decrypt_Key];
NSLog(@"Encrypt String- %@",encryptString);
NSString *decryptString = [encryptString
AES256DecryptWithKey:encrypt_decrypt_Key];
NSLog(@"Decrypt String- %@",decryptString);
Run Code Online (Sandbox Code Playgroud)
或者,如果您使用的是 iOS 5 及更高版本,请查看此博客。