voici comment vous pouvez générer des HMAC-SHA1 base64.
Vous devez ajouter Base64.h et en Base64.m à votre projet. Vous pouvez l'obtenir à partir d' ici.
Si vous utilisez un ARC, il va montrer quelques erreurs en Base64.m. Trouver les lignes qui sont similaires comme ceci
return [[[self alloc] initWithBase64String:base64String] autorelease];
ce que vous avez besoin est de supprimer l'autorelease section. Le résultat final devrait ressembler à:
return [[self alloc] initWithBase64String:base64String];
Maintenant, dans votre projet général d'importation "Base64.h"
et le code suivant
#import "Base64.h"
#include <CommonCrypto/CommonDigest.h>
#include <CommonCrypto/CommonHMAC.h>
- (NSString *)hmacsha1:(NSString *)data secret:(NSString *)key {
const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)];
NSString *hash = [HMAC base64String];
return hash;
}
Avec
NSLog(@"Hash: %@", hash);
vous obtiendrez quelque chose de similaire à ceci:
ghVEjPvxwLN1lBi0Jh46VpIchOc=