で復号化するのに苦労していNSData
ますNSData key
。すべての復号化は正常に機能しますが、データをキーとして使用すると、ステータスが問題なく、そのデータのキーも正しいにもかかわらずNSString
、メソッドは null を返します。NSData
これが私の電話です
NSData *decrypted = [AES AES128DecryptWithKey:data key:mute];
NSLog(@"DECRYPTED >> %@", decrypted);
そして私の方法
+ (NSData*)AES128DecryptWithKey:(NSData*) data key:(NSData*)key {
NSUInteger dataLength = [data length];
NSLog(@"trying to decrypt >> %@ with key >> %@", data, key );
size_t bufferSize = dataLength + kCCBlockSizeAES128;
void* buffer = malloc(bufferSize);
size_t numBytesDecrypted = 0;
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
[key bytes], kCCKeySizeAES128,
NULL /* initialization vector (optional) */,
[data bytes], dataLength, /* input */
buffer, bufferSize, /* output */
&numBytesDecrypted);
NSLog(@"cryptstatus %d", cryptStatus);
if (cryptStatus == kCCSuccess)
{
return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];
}
free(buffer); //free the buffer;
return nil;
}
NSLog 出力:
trying to decrypt >> <152f052e 79436003 7a9c1a59 3b82f1c4>
with key >> <1b510e76 ac0000a1 027af26a e25ad24a>
cryptstatus 0
DECRYPTED >> <>
を調べましたが、 aes256RNEncryptor
しかありませんが、128 が必要です。何かアイデアはありますか?