在iOS设备上存储敏感(非安全)数据的最佳做法是什么?
我应该在哪里存储用户在应用中购买的信息?例如,如果用户购买了“BOOL showAds
变量,我应该在哪里存储"删除广告&#34 ;?
我知道一切都可以破解,特别是在越狱设备上,我只是问最佳做法是什么。
我的变种:
.plist
- 使用iFunBox编辑,例如答案 0 :(得分:1)
您可以使用 base 64 encoding 数据将数据存储在NSUserDefaults
中,以确保数据安全。
代码非常简单:
NSUserDefaults *persistValues;
persistValues = [NSUserDefaults standardUserDefaults];
设置数据(使用base 64编码):
// Create NSData object
NSData *nsdata = [@"iOS Developer Tips encoded in Base64" dataUsingEncoding:NSUTF8StringEncoding];
// Get NSString from NSData object in Base64
NSString *base64Encoded = [nsdata base64EncodedStringWithOptions:0];
[persistValues setObject:base64Encoded forKey:@"some_key"];
获取数据:
base64Encoded = [persistValues stringForKey:@"some_key"];
NSData *nsdataFromBase64String = [[NSData alloc]
initWithBase64EncodedString:base64Encoded options:0];
// Decoded NSString from the NSData
NSString *base64Decoded = [[NSString alloc]
initWithData:nsdataFromBase64String encoding:NSUTF8StringEncoding];
如果您的数据更大,我建议您使用Web服务并将其存储在Web服务器中
答案 1 :(得分:0)
Keychain是存储敏感数据的最佳选择。
Small
data
可以作为最佳方式存储在NSUserDefault中,因为物理文件无法用于更改数据。
Bigger
data
可以存储在database
encryption