想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .
关闭 7 年前。
我需要在 Objective C 中生成 HMAC-SHA1。但我没有找到任何可行的方法。我尝试了 CommonCrypto,使用 CCHMAC,但没有用。我需要生成一个hmac,然后生成HOTP号。
有人有 Objective C 或 C 的示例代码吗?
最佳答案
以下是使用 SHA-256 生成 HMAC 的方法:
NSString *key;
NSString *data;
const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC
length:sizeof(cHMAC)];
NSString *hash = [HMAC base64Encoding];
我不知道 HOTP 库,但如果我没记错的话,算法非常简单。
https://stackoverflow.com/questions/756492/
相关文章:
iphone - 带有 "Go"按钮而不是返回的 iOS 键盘
ios - 将输入 View 添加到文本字段 iOS 8 时出错
objective-c - Foo 类在 MyApp 和 MyAppTestCase 中都实现了。将
iphone - UIPageViewController,如何在不打乱数据源指定顺序的情况下正确跳
ios - Xcode 如何加载主 Storyboard ?
ios - NSNotificationCenter 的帖子导致 "EXC_BAD_ACCESS"异
ios - 是否在 iOS SDK 中的任何位置定义了 HTTP 状态代码?