system("openssl enc -aes-128-cbc -k secret -P -md sha1 > FILENAME")
の出力をファイルに保存するにはどうすればよいですか。
私は次のことを試しました:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [NSString stringWithFormat:@"%@/textfile.txt",
documentsDirectory];
NSString *str=[NSString stringWithFormat:@"openssl enc -aes-128-cbc -k secret -P -md sha1 > %s",[fileName UTF8String]];
NSLog(@"AES Key is %@",str);
system([str UTF8String]);
NSString *strAES = [NSString stringWithContentsOfFile:fileName encoding:nil error:nil];
NSLog(@"strAES Key is %@",strAES);
NSString *strAESKey=[[[[strAES componentsSeparatedByString:@"\n"] objectAtIndex:1] componentsSeparatedByString:@"="] objectAtIndex:1];
NSLog(@"strAESKey Key is %@",strAESKey);
// NSString *content = @"One\nTwo\nThree\nFour\nFive";
[str writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];`
どこが間違っていますか?
関数はsystem()
出力をコンソールに送信しますが、iPhone にはコンソールがないため、出力をテキスト ファイルにリダイレクトし、ファイルからキーを取得して暗号化/復号化に使用する必要があります。