· 7 years ago · Dec 07, 2018, 07:08 PM
1extern void hmac_sha1(const unsigned char *inText, int inTextLength, unsigned char* inKey, const unsigned int inKeyLength, unsigned char *outDigest);
2
3- (NSString *)sign: (NSString *)stringToSign {
4 NSString *secretKey = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
5 const unsigned char *inText = (unsigned char *)[stringToSign UTF8String];
6 int inTextLength = [stringToSign length];
7 unsigned char *inKey = (unsigned char *)[secretKey UTF8String];
8 const unsigned int inKeyLength = (unsigned int)[secretKey length];
9 unsigned char *outDigest;
10
11 hmac_sha1(inText, inTextLength, inKey, inKeyLength, outDigest);
12 NSString *output = [NSString stringWithUTF8String:(const char *)outDigest];
13
14 return output;
15}
16
17unsigned char *outDigest;
18
19#define HMACSHA1_DIGEST_SIZE 20
20void *outDigest = malloc(HMACSHA1_DIGEST_SIZE);
21
22NSString *output = [[NSString alloc] initWithBytesNoCopy:outDigest
23 length:HMACSHA1_DIGEST_SIZE
24 encoding:NSASCIIStringEncoding
25 freeWhenDone:YES];
26
27NSUInteger byteCount = [stringToSign lengthOfBytesUsingEncoding:NSUTF8StringEncoding];