Я попробовал следующее, чтобы зашифровать clearTextData
с помощью ключа keyData
. И я проверил, чтобы убедиться, что оба эти значения действительны и проходят.
NSData *keyData = [PRIVATE_KEY dataUsingEncoding:NSUTF8StringEncoding];
NSData *clearTextData = [data dataUsingEncoding:NSUTF8StringEncoding];
uint8_t digest[CC_SHA1_DIGEST_LENGTH] = {0};
CCHmacContext hmacContext;
CCHmacInit(&hmacContext, kCCHmacAlgSHA1, keyData.bytes, keyData.length);
CCHmacUpdate(&hmacContext, clearTextData.bytes, clearTextData.length);
CCHmacFinal(&hmacContext, digest);
NSData *out = [NSData dataWithBytes:digest length:CC_SHA1_DIGEST_LENGTH];
NSLog(@"encrypted data: %@", [NSString stringWithUTF8String:[out bytes]]);
Журнал всегда возвращается с сообщением encrypted data: (null)
Любые идеи?
* ОБНОВЛЕНИЕ *
Вот примеры ключей и данных, которые я передаю:
ключ: 983745hjhgfd3454
данные: {"data":"lala","pubKey":"75948458","sig":"val"}