Skip to content

Instantly share code, notes, and snippets.

@tistaharahap
Created September 8, 2011 08:51
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tistaharahap/1202963 to your computer and use it in GitHub Desktop.
Save tistaharahap/1202963 to your computer and use it in GitHub Desktop.
HMAC-SHA1 Utility for Objective-C
/* *** **
* The Base64Transcoder library is the work of Jonathan Wright,
* available at http://code.google.com/p/oauth/.
* *** **
*/
- (NSString *)hmacsha1:(NSString *)text key:(NSString *)secret {
NSData *secretData = [secret dataUsingEncoding:NSUTF8StringEncoding];
NSData *clearTextData = [text dataUsingEncoding:NSUTF8StringEncoding];
unsigned char result[20];
CCHmac(kCCHmacAlgSHA1, [secretData bytes], [secretData length], [clearTextData bytes], [clearTextData length], result);
char base64Result[32];
size_t theResultLength = 32;
Base64EncodeData(result, 20, base64Result, &theResultLength);
NSData *theData = [NSData dataWithBytes:base64Result length:theResultLength];
NSString *base64EncodedResult = [[NSString alloc] initWithData:theData encoding:NSASCIIStringEncoding];
return base64EncodedResult;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment