我有一个.txt文件,其中包含我的应用程序使用的NSString(使用私钥加密)(使用公钥解密)。对于一个字符串,一切都很好用,但是,如果我有另一个我想要使用的NSString,我必须用加密的NSString创建另一个单独的.txt文件。我知道必须有一种方法将所有NSStrings放在一个文件中并以某种方式解析它,虽然我不知道如何实现这一点。可以使用包含所有加密字符串的.plist文件来完成吗?
这是我用一个NSString解密我的.txt文件的代码示例:
NSString *filePath = @"/path/to/file.txt";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
crypto = [[MyCrypto alloc] initWithPublicKey:publicKeyData privateKey:privateKeyData];
NSError *err;
theString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&err];
if (!theString) {
NSLog(@"error: %@", err);
}
[crypto setClearTextWithString:theString];
decryptedTextData = [crypto decrypt];
NSLog(@"Decrypted: %@", theString);
...
如果有人可以用一个例子说明这个问题,我会非常感激。
答案 0 :(得分:1)
制作一个for循环并将你的描述代码放在里面,然后修改行
theString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&err];
以下(假设i
是循环变量):
theString = [array objectAtIndex:i];
您在代码的初始化部分创建array
的位置,使用:
NSArray *array = [NSArray arrayWithContentsOfFile:@"file.txt"];
指定的文件也必须是有效的PLIST,数组是其根元素。例如:
<plist>
<array>
<string>alshnj369537nwlzba</string>
<string>9ö876534tzhwjukmhnlfb</string>
<!-- et cetera... -->
</array>
<plist>
希望这有帮助。