0

我有一个 .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);

...

如果有人可以举例说明这个主题,我将不胜感激。

4

1 回答 1

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>

希望这可以帮助。

于 2012-04-07T17:54:55.123 回答