Я попробовал следующее, чтобы зашифровать 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
данные:
{ "Данные": "Лал", "Публичные": "75948458", "сиг": "Вал"}