mp3音楽をダウンロードしてユーザーの電話に保存するモバイルアプリケーション(android | iphone)を開発する必要がありますが、ユーザーがそのmp3を配布しないようにする必要があります。これらのファイルを暗号化する方法が必要です。
私にできることはありますか?
ありがとう
mp3音楽をダウンロードしてユーザーの電話に保存するモバイルアプリケーション(android | iphone)を開発する必要がありますが、ユーザーがそのmp3を配布しないようにする必要があります。これらのファイルを暗号化する方法が必要です。
私にできることはありますか?
ありがとう
CommonCrypto 関数を使用して、AES で暗号化/復号化し、キーをキーチェーンに保存できます。
サンプルコードは次のとおりです。
#import <CommonCrypto/CommonCryptor.h>
+ (NSData *)doCipher:(NSData *)dataIn
iv:(NSData *)iv
key:(NSData *)symmetricKey
context:(CCOperation)encryptOrDecrypt
{
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0; // Number of bytes moved to buffer.
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES128];
ccStatus = CCCrypt( encryptOrDecrypt,
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
symmetricKey.bytes,
kCCKeySizeAES128,
iv.bytes,
dataIn.bytes,
dataIn.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
if (ccStatus != kCCSuccess) {
NSLog(@"CCCrypt status: %d", ccStatus);
}
dataOut.length = cryptBytes;
return dataOut;
}
// Also add Security.framework to your project.
これには iv (初期化ベクトル) が必要であり、単純なパスワードをキーに使用しないでください。優れたセキュリティには、いくつかの暗号化ルーチンが必要です。暗号化に関する十分な知識とコードのレビューが必要です。