对不起,如果这是以前被问过的问题,如果有的话,请指出正确的答案。(我找不到答案。)
我的问题:
我有一个来自NSUrl的XML我需要能够适当地解析它, 我将收到其中的Field Perpetrators的回复,例如()。
我是否可以将其设置为搜索字典中的关键字并从XML中解析它们? 如果是这样,那么学习它的好开始是什么?
还可以保存响应并加密它们,直到我需要在另一个视图中使用它们吗? 如果是这样,在IOS方面加密的最佳方法是什么?
任何正确方向的导游都很精彩!! 我不是要求别人回答所有人,但这会很好,谢谢!
答案 0 :(得分:1)
方法- (BOOL)writeToFile:(NSString *)path options:(NSDataWritingOptions)mask error:(NSError **)errorPtr
有NSDataWritingFileProtection
选项可以为您加密数据,但您无法控制它们的加密密钥。
对于加密使用CommonCrypro(iOS的一部分),aes128,cbc。但真正的问题是你如何安全地保存加密密钥?
这是一种加密/解密方法:
+ (NSData *)doCipher:(NSData *)dataIn
iv:(NSData *)iv
key:(NSData *)symmetricKey
context:(CCOperation)encryptOrDecrypt
{
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0; // Number of bytes moved to buffer.
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES128];
ccStatus = CCCrypt( encryptOrDecrypt, // kCCEncrypt or kCCDecrypt
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
symmetricKey.bytes,
kCCKeySizeAES128,
iv.bytes,
dataIn.bytes,
dataIn.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
if (ccStatus != kCCSuccess) {
NSLog(@"CCCrypt status: %d", ccStatus);
}
dataOut.length = cryptBytes;
return dataOut;
}