2012-04-07 4 views
0

私のアプリケーションが使用する(公開鍵を使用して解読された)NSString(秘密鍵を使用して暗号化された)を含む.txtファイルがあります。私は別の.txtファイルを暗号化されたNSStringで作成しなければならない別のNSStringを使用している場合、すべてが1つの文字列に対して美しく機能します。どのようにこれを達成するかはわかりませんが、NSStringをすべて1つのファイルに入れて何らかの形で解析する方法がなければならないことがわかります。すべての暗号化された文字列を含む.plistファイルを使用して行うことができますか?Objective-C最良の方法.txtファイルからNSStringsを解読する

これは、私は1つの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); 

... 

を。

theString = [array objectAtIndex:i]; 

あなたがarrayを作成しました:

+0

なぜ公開鍵を使用して解読していますか?暗号化ではなく検証のために使用しない限り、通常は逆の方法です(さらに、コンテンツ全体ではなく、ファイルのハッシュを強く検証する)。 –

答えて

1

さらにライン以下(iをされたと仮定すると、ループ変数)へ

theString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&err]; 

を変更し、ループのために作り、中にあなたdecriptionコードを置きますコードの初期化部分:

指定されたファイルも有効なPLISTでなければなりません。配列はルート要素です。例:

<plist> 
<array> 
    <string>alshnj369537nwlzba</string> 
    <string>9ö876534tzhwjukmhnlfb</string> 
    <!-- et cetera... --> 
</array> 
<plist> 

これが役に立ちます。

+0

ありがとう - あなたのヒントは参考になった。まさに私が探していたものです。 –

+0

私はあなたを助けることができてうれしい。 :) –

関連する問題