iPhone:使用HMAC-SHA1转换字符串

问题描述:

我想生成NSString类型变量的HMAC-SHA1。我看到post但这种方法让我错误CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);iPhone:使用HMAC-SHA1转换字符串

NSString *hash = [HMAC base64Encoding]; 线。

请建议如何生成任何字符串的HMAC-SHA1。

+0

什么是错误? – 2010-03-26 07:26:50

+0

警告:函数隐式声明'CCHmac' 错误:'kCCHmacAlgSHA256'未声明(首次在此函数中使用) – Rupesh 2010-03-26 07:38:30

你有没有在你的源文件的顶部?

#import <CommonCrypto/CommonHMAC.h> 

关于你的问题的一部分的base64,this question会告诉你在哪里得到一个base64编码库/协议。

+0

感谢frank, 我只包含#import 。现在它运作良好。现在只有一个问题正在处理中 NSString * hash = [HMAC base64Encoding]; 此声明发出警告 警告:'NSData'可能无法响应'-base64Encoding' 请建议 – Rupesh 2010-03-26 08:57:06

关于base64编码问题: 这是因为默认情况下NSData不包含此方法,您需要使用该方法扩展NSData。在此链接解释http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html祝你好运!