暗号化された MP3 ファイルがあります。ファイルは、次の openssl メソッドを使用して暗号化されました
openssl enc -e -aes-128-cbc -K 00ff349830193845af43984758690213 -p -iv 0 -nosalt -in input.mp3 -out output.mp3
次に、次のように ios アプリケーションでファイルを復号化しようとしています。
NSString *resourceDocPath = [[NSString alloc] initWithString:[[NSBundle mainBundle] bundlePath]] ;
NSString *filePath = [resourceDocPath stringByAppendingPathComponent:@"output.mp3"];
NSData *key = [@"00ff349830193845af43984758690213" dataUsingEncoding:NSUTF8StringEncoding];
NSData *iv = [@"00000000000000000000000000000000" dataUsingEncoding:NSUTF8StringEncoding];
NSData *fileData = [[NSData alloc] initWithContentsOfFile:filePath];
NSData *decryptData;
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0; // Number of bytes moved to buffer.
NSMutableData *dataOut = [NSMutableData dataWithLength:fileData.length + kCCBlockSizeAES128];
ccStatus = CCCrypt(kCCDecrypt,
kCCAlgorithmAES128,
kSecPaddingNone,
key.bytes,
kCCKeySizeAES128,
iv.bytes,
fileData.bytes,
fileData.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
if (ccStatus != kCCSuccess) {
NSLog(@"CCCrypt status: %d", ccStatus);
}
dataOut.length = cryptBytes;
decryptData = dataOut;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"MyDECFile.mp3"];
[decrypt writeToFile:appFile atomically:YES];
NSLog(@"%@",documentsDirectory);
ドキュメントディレクトリに復号化されたMP3ファイルがありますが、再生されず、文字通りジャンク出力です。希望の出力を得る方法を教えてください。