Actuellement, notre équipe travaille sur une clé HMAC mais les résultats sur iOS et Android sont différents. La partie Java fonctionne correctement, mais la partie iOS semble ne pas fonctionner.Objectif Équivaut à base16(). Decode (Chaîne)
Nous avons établi que le problème est avec le HMAC_KEY dans java la première clé est convertie en un octet de base16 []. Quel serait l'équivalent Objective-C de ce qui suit?
byte[] hmacKey = BaseEncoding.base16().decode(HMAC_KEY);
SecretKeySpec signingKey = new SecretKeySpec(hmacKey, HMAC_SHA256_ALGORITHM);
Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM);
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(data.getBytes(C_UTF8));
return BaseEncoding.base64().encode(rawHmac);
curently dans ios nous avons les éléments suivants:
NSData *saltData = [salt dataUsingEncoding:NSUTF8StringEncoding];
NSData *paramData = [signingData dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData* hash = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH ];
CCHmac(kCCHmacAlgSHA256, saltData.bytes, saltData.length, paramData.bytes, paramData.length, hash.mutableBytes);
NSString *base64Hash = [hash base64Encoding];
le problème est la BaseEncoding.base16().decode(HMAC_KEY)
partie Withing comment pouvons-nous faire cela à l'Objective-C?